After coming away with a thrilling road win and upsetting the star-studded Dallas Cowboys on Sunday, the San Francisco 49ers once again showed everyone why they're the toughest team in the league. From a dominant showing on offense to a series of defensive adjustments and battling through several injuries throughout the game, the 49ers were able to seamlessly improvise and prevail against the slumping Cowboys.

With all this going for the 49ers, we'll now dive into the key factors behind their stunning victory against the Cowboys on Sunday afternoon.

DeMeco Ryans' defensive adjustments were pivotal for the 49ers 

Even after they lost Nick Bosa and Fred Warner to untimely injuries at pivotal moments during the game, DeMeco Ryans was able to make the right adjustments that kept the 49ers in the game and this enabled them to hold the Cowboys to just 17 points on the day. Arik Armstead, D.J. Jones, and Emmanuel Moseley all stepped up in a major way and came through for San Fran just when it seemed like the game was starting to slip away from them.

Fortunately for them, the 49ers deep and dynamic defense was able to pull through and implement the necessary changes on the go as they ran Ryans' defensive schemes to perfection. In their upcoming match-up with the top-seeded Green Bay Packers, the 49ers will need another big game from their elite defensive unit if they hope to advance to the NFC Championship round.

San Francisco's rushing attack was too much for Dallas to handle 

With strong performances from Deebo Samuel and Eli Mitchell, the 49ers running game was problematic for the Cowboys all day long and gave them an edge in their close win on the road. This was also a key to their success against the Cowboys star-studded defense which kept them in the driver's seat from the get-go.

As they continually find ways to come up with crucial wins to keep their season alive, the 49ers were able to rely heavily on their running game while having their way with Dallas on Sunday. In their continued pursuit of the Lombardi Trophy, San Francisco has previously shown that they can win in a multitude of ways and with the depth and talent they possess on offense. It's definitely a luxury for them to have a ton of options at the running back spot.

Kyle Shanahan needs to get George Kittle more involved in their offensive game plan 

There's no denying that George Kittle is one of the best tight ends in the league, and even though the 49ers came away victorious during their Wild Card match-up with the Cowboys, it's become quite apparent that they need to utilize his offensive skillsets more often. On several occasions, Kittle has come up with huge plays that have helped the 49ers pull out some quality wins.

Whether he's coming off slant routes or going deep, Kittle always seems to find a way to keeps the chains moving and score touchdowns for San Francisco. If they want to pull off another major win on the road when they face the Packers at Lambeau, then incorporating Kittle into their game plan will be essential for them on offense.