2025 was another “injury apocalypse” season for the 49ers, including at the most important positions. Brock Purdy missed eight games, Nick Bosa missed 14. So on and so forth. That is sadly common in Kyle Shanahan’s San Francisco. Less common was the resiliency, with the 49ers in play for the NFC’s No. 1 seed until Week 18. Although overmatched in the playoffs, they made sure to beat the Eagles on the road before succumbing to the Seahawks in the Divisional Round.
▶ 2025 San Francisco Giants Stats (Rank)
Points per game: 25.7 (10th)
Total yards per game: 351.4 (7th)
Plays per game: 63.6 (27th)
Dropbacks per game: 39.1 (15th)
Dropback EPA per play: 0.18 (6th)
Designed rush attempts per game: 27.2 (9th)
Rush EPA per play: -0.03 (10th)
▶ Can a revamped 49ers skill corps keep the fantasy points coming?
With Brandon Aiyuk in la la land and George Kittle again missing significant time, Shanny was forced to mix and match more than ever in 2025. That thankfully did not include at running back, where war horse Christian McCaffrey suited up for all 17 games, but Shanahan came out of the experience in search of greater depth at his skill spots. There has been a massive infusion at wideout, as well as a meaningful addition at running back. That’s at least according to Shanahan. His rookie selections were highly controversial. We will let you know if they are worth taking in fantasy football in just a second.
▶ Passing Game
QB: Brock Purdy, Mac Jones
WR: Mike Evans, De'Zhaun Stribling
WR: Ricky Pearsall, Demarcus Robinson
WR: Christian Kirk, Jordan Watkins
TE: George Kittle, Jake Tonges, Luke Farrell
Brock Purdy had his best fantasy campaign in 2025. It was also his shortest. Vulnerable to nicks and bruises due in part to his adventurous, freelancing style, Purdy was limited to nine appearances by toe and shoulder ailments. When he was on the field, he averaged an eye-popping 24.6 points per game, putting him behind only Josh Allen and Matthew Stafford. Insane, though not that far off of Purdy’s impressive 2023, where he also posted a 7.0 touchdown percentage. As alluded to above, it was even more impressive in light of the 49ers’ skill corps deficiencies.
Purdy’s leading receiver was his running back. No. 2 was the tight end who missed six games. No. 3 was a wideout who would ideally be a No. 3 in Jauan Jennings. That Purdy took that supporting cast and went toe to toe with the league’s best for even half a season speaks to a player who has proven himself to be the perfect pilot for Shanahan’s quarterback-friendly system. If Shanny sets up the pins, Purdy doesn’t just try to knock them down, he attempts to do so in style. That’s the difference between him and Jimmy Garoppolo or backup Mac Jones.
Is it sustainable? Purdy has to figure out a way to stay on the field, but he’s now at a 49-game sample size of operating as a legitimate QB1. Although Purdy isn’t a strict pocket passer, he’s still more of a mono-threat than dual. He’s just a born playmaker playing for a coach who knows where to position the chess pieces. And this year, Shanny seems to have assembled more rooks and bishops than last year’s pawns.
Which finally brings us to the 49ers’ new No. 1 wideout, Mike Evans. Increasingly struggling to remain on the field as he advances deeper into his 30s, Evans has seen his games played decline from 17 to 14 to eight. The culprits last season were collarbone and hamstring issues. When he did manage to play, Evans posted career-low marks in yards per catch (12.3), yards per target (5.9) and yards per route run (1.62). That was in a struggling, injury-wrecked offense, but is a blinking red light for a player heading into his age-33 campaign.
Now, Evans has never had a coach like Kyle Shanahan. It’s safe to assume Shanny will be able to restore both some efficiency and compiling if Evans can restore his health. We just know San Francisco isn’t exactly famed for keeping players on the field. Trying to claw back lost production rather than add another level to his game, Evans is best treated as a low-end WR2 even if we suspect his quarterback upgrade is as big as his coaching upgrade.
One of the main reasons the 49ers were forced to sign Evans was third-year pro Ricky Pearsall’s near total inability to stay on the field. So far limited to 20 of a possible 34 regular season contests in two years since arriving as the No. 31 overall pick, Pearsall at least improved his efficiency last season. He increased from a disastrous 1.26 yards per route run to a more palatable 1.60. He also generated 128 more yards (528 to 400) in two fewer games (nine compared to 11) while averaging nearly 15 yards per catch. He somehow did not find the end zone, but contributed a pair of 100-yard efforts.
The 49ers’ investments in wide receiver via both the draft and free agency speak to an obvious lack of faith in their 26-year-old (in September) former first-round pick, but he still has the best chance at emerging with the No. 2 job. He’s a WR4 who could make a dark horse run at top-30 status if he stays healthy.
Behind Evans and Pearsall are a low-upside free agent addition and high-variance second-round pick. We’ll start with the free agent, Christian Kirk. Although seemingly tailor made to be the kind of veteran where Shanahan spins up fantasy value out of nowhere, the reality is Kirk is a 29-year-old coming off a 239-yard season in Houston. That does leave out his 8/144/1 Wild Card blowup against the Steelers. Nevertheless, Kirk has always lacked a ceiling and his more all-around game lends itself to a “little things” role. Those things might be important to Shanahan, but are unlikely to provide more than pop-up fantasy dividends.
Fighting with Kirk for No. 3 status will be de facto first-round pick De'Zhaun Stribling. Maybe the single most controversial selection of the entire draft, 24-year-old (in December) Stribing enters the league after a genuine five-year college career. “Genuine” in the sense that he actually played every season and mostly stayed on the field. Controversial because he never once reached 1,000 yards and managed only 23 touchdowns in 56 games.
A legit size/speed prospect at 6’2/207 with blazing 4.36 wheels, Stribling has also drawn plaudits for his blocking. Although that word always sets off fantasy alarm bells, it could be the key to Stribling getting on the field early, where he could at least then get the opportunity to make big plays. That all-around skill-set means Stribling could be valuable right off the bat, it just might be more in “real life” than fantasy. He is still worth a WR5 flier as someone set to catch passes in a Kyle Shanahan-orchestrated offense.
Which brings us to maybe the most important player on the team. Already a Hall-of-Famer, George Kittle is now trying to have a hall-of-fame injury recovery as he looks to get back just eight months after rupturing his achilles’ tendon. Kittle has always been a “fast healer,” but this would be orders of magnitude more impressive. If he does get back for Week 1, it would be as arguably the 49ers’ No. 1 weapon, though Evans would have something to say about that. It, of course, is also possible Kittle rushes back and isn’t as effective as fantasy managers have become accustomed to. He could also have his snaps rationed more than usual. His advancing age and the nature of his injury make him more of a low-end TE1 than elite option, though we would be kidding ourselves if we discounted the possibility Kittle simply does what he always does.
▶ Running Game
RB: Christian McCaffrey, Kaelon Black, Jordan James
OL (L-R): Trent Williams, Robert Jones, Jake Brendel, Dominick Puni, Colton McKivitz
NFL football coaches have a longtime problem — any time Christian McCaffrey takes the field, they can’t stop giving him the ball. It’s made for a multitude of epic fantasy seasons but nearly as many injury-ruined campaigns. With McCaffrey now on the wrong side of 30, Shanahan seems to have finally acknowledged his superstar back’s football mortality, saying he wants to reduce his “wear and tear.” We don’t doubt that is Shanny’s intention, but it has always proven easier said than done. That’s especially true since McCaffrey’s gaggle of backups lacks proven NFL talent.
It’s ultimately difficult to envision much changing, while even a reduced McCaffrey workload would present little danger of him finishing outside the top 10 in fantasy football. No one is usurping him at the goal line or in the passing game. As usual, the only thing standing between CMC and an RB1 finish is injury.
Second-year fifth-rounder Jordan James and third-round rookie Kaelon Black are the leaders in the clubhouse for No. 2 status. The No. 147 overall pick of last year’s draft, James was rarely active, making just three appearances. He failed to notch an offensive touch. For his part, Black was one of the most overdrafted players of the spring.
James and Black have similar skill-sets — early-down box checkers who don’t catch many passes — and Black is the “new guy” with better draft capital. Advantage Kaelon. Then again, experience is everything under Shanahan, and at least theoretically, James now has more of it. In the end, it’s not a particularly interesting battle behind CMC, whose injury would lead to the creation of an ad hoc committee.
▶ 2026 San Francisco 49ers Win Total
DraftKings Over/Under: 9.5
Pick: Over (-146) under is +120
Although they operate in the brutally difficult NFC West, the 49ers’ early-season schedule is not overly difficult. A hot start is possible, if not likely. Shanahan has also shored up his biggest offensive deficiencies, though the defense could be a bigger problem than last season. It’s older with a longer injury history, and Shanny whisperer Robert Saleh is now in Tennessee. In the end, Shanahan cruises to 10-plus victories more often than not, and at least headed into Week 1, I see little reason to believe 2026 will be an exception. Maybe there’s another injury avalanche, but that’s not a reason to take the under. I’ll hit the over.