The San Francisco 49ers Week 13 matchup with the Seattle Seahawks was a tale of two teams heading in completely opposite directions. After a 2-4 start, the 49ers had won four of five games and three in a row. The Seahawks, on the other hand, had lost six of their last seven games and had essentially taken themselves out of the playoff hunt. So, it was going to be an easy win for San Francisco…right?

Well, as we all know, anything can happen on any given Sunday in the NFL and this week was no different. With their back against the wall, Seattle pulled off the upset of their division foes and kept themselves alive for an NFC playoff spot by a score of 30-23.

San Francisco still looks primed for an NFC wild-card berth but made it much harder on themselves than that had to if they had just taken care of business against a 3-8 football team. Here are three takeaways from Sunday's 49ers-Seahawks game from a San Francisco point of view.

*Watch NFL games LIVE with fuboTV (click for free trial)*

Three San Francisco 49ers  Week 13 Takeaways

3. George Kittle was a beast (good)

With eight catches for 189 yards and two touchdowns, it is safe to say that Kittle was the main part of the 49ers' offense on Sunday. In fact, he was the only part that seemed to stand out during a game that saw the 49ers fail to move the ball on the ground, complete passes outside of the hash marks, and get intercepted twice. If San Francisco wants to use something to build off of going forward, Kittle's performance will surely do the trick. With a big Week 14 matchup upcoming this week against the Cincinnati Bengals, the 49ers had better figure out their non-Kittle issues…and do it in a hurry.

2. SF only had six receptions to wide receivers in the entire game (bad)

This is not going to win you very many football games and the 49ers have to know that. When superstar wide receiver Deebo Samuel went down in Week 12 with an injury, many expected the 49ers to struggle through the air because he means so much to their offense. No one could have predicted this type of struggle, however, and the Seahawks took advantage of it. At halftime, Seattle made adjustments to San Francisco's reliance on the middle of the field and ended up holding the 49ers scoreless for the entire second half.

1. 2.8 yards per rush is not good enough (ugly)

For a team that is as reliant on the running game as any team in the league, 2.8 yards per rush is not going to cut it. Most passing teams cannot survive a game with such little rushing production, let alone a running team like San Francisco. So, while we may want to point fingers at the 49ers passing game–and rightfully so, as noted in takeaway three– it is, has been, and always will be the running game that sets up the passing game under head coach Kyle Shanahan. Better get back to the basics.