SANTA CLARA -- The 49ers just beat the Tampa Bay Buccaneers 27-14, their record is now 7-3 and they're in first place in the NFC West. Here are the 49ers' grades for this performance.


His quarterback rating was perfect, and he's the first 49ers quarterback to have a perfect passer rating in a game since 1989. Extremely impressive. He also threw a perfect deep touchdown pass up the left sideline to Brandon Aiyuk. This was the best version of Purdy -- the one who gets a lead early, cruises through the third quarter and then doesn't have to do much in the fourth quarter. We know that Purdy is outstanding through the first three quarters and when he has a lead. We don't know how effective he truly is in the fourth quarter or when trailing. Today, his passer rating in the fourth quarter when the 49ers struggled to put away the Bucs was 82.6. As good as Purdy is, he still needs to prove he can perform at a high level in the fourth quarter of a tight game against a good team. He didn't get an opportunity to prove that today, but the opportunity is coming.


Christian McCaffrey averaged only 3.7 yards per carry, but gained 103 yards from scrimmage and scored a touchdown. Plus Elijah Mitchell gained 24 yards on 4 carries and finally seemed like the running back he was the past two seasons. Give Kyle Shanahan credit for sticking with him despite a terrible first half of the season. Still, it would be nice if Jordan Mason could carry the ball every once in a while. Today, he got no carries. Same for Kyle Juszczyk, whose sole contribution to the stat sheet was a false start penalty.


Brandon Aiyuk had the best game of his career -- 156 yards and 1 touchdown. He finally is becoming an elite wide receiver. The 49ers can't throw him the ball enough. He's clearly their No. 1 option in the pass game. Deebo Samuel is a good complementary weapon -- he had 62 yards from scrimmage. And Jauan Jennings had zero catches. The 49ers need to replace him with Ronnie Bell.


George Kittle had 8 catches for 89 yards and 1 touchdown. He's having his best season in years.


They couldn't create holes in the run game, plus they gave up four sacks to a team with a mediocre pass rush.


They recorded four sacks, shut down the run and recovered a fumble. The addition of Chase Young has been huge so far.


Fred Warner had 12 tackles, 2 pass breakups, 1 forced fumble and a half of a sack. He's incredible. Dre Greenlaw had 8 tackles, 2 pass breakups, 1 quarterback hit and half of a sack. He's excellent, too.


Talanoa Hufanga left the game with what the 49ers fear is a torn ACL. His replacement, Ji'Ayir Brown, immediately gave up a long catch, but redeemed himself by intercepting a tipped pass in the end zone and then breaking up a potential touchdown catch in the end zone. He looks like a promising player. Charvarius Ward does not anymore. He looks timid. The Buccaneers targeted seven times in one drive during the fourth quarter. He gives up short catches routinely without even contesting them. He looks uninspired and old.


Jake Moody made all of his kicks, but the 49ers gave up a 51-yard punt return in the fourth quarter that gave the Buccaneers life.


Frankly, the 49ers should have won by more. A win is a win, and the 49ers won by 13, which always is good, but they didn't play up to their standard -- they played down to an opponent that has now lost 5 of its past 6 games. That's on Kyle Shanahan, who didn't coach particularly well in this game. The 49ers won simply because they're much more talented than the Buccaneers. Remember, the 49ers were winning by just three points late in the second quarter -- they were messing around. Then they turned it on, played beautifully in the third quarter and scored 17 unanswered points. They were winning 27-7 at the end of the third quarter and had every opportunity to make a statement by slamming the door on the Buccaneers. Instead, they let the Bucs back in the game, and gave them multiple opportunities to cut their deficit to six points. Fortunately for the 49ers, the Buccaneers couldn't do much with their opportunities because they stink. But a championship-caliber team would have put away the Bucs in the third quarter. It's unclear whether the 49ers are a championship-caliber team. They'll have to prove that in the playoffs.