The 49ers this season had a unique blend of talent, depth, chemistry and coaching that enabled them to win 15 of 19 games en route to the NFC West championship, the No. 1 seed in the conference and a berth in the Super Bowl.
The 49ers’ season fell short of their dream, as everything fell apart after 3 ½ quarters of Super Bowl LIV on Sunday in Miami Gardens, Fla.
All the phases of the team that came together to enable the 49ers to get tantalizingly close to their sixth Super Bowl title in franchise history disappeared with a blown coverage, the flick of Patrick Mahomes’ wrist, a couple swatted down passes and a potential big play that sailed out of reach.
The 49ers blew a 10-point lead in the final minutes. The Kansas City Chiefs rallied from a 10-pont deficit in the final minutes. Take your pick. It’s all the same.
The 49ers lost, 31-20, to Andy Reid’s team -- a team that made more plays at important moments of the NFL’s most-important game of the season.
Tears were shed on the sideline. Tears were shed in the locker room. The 49ers’ season is over, and all we can do is look back and remember.
Here are the final season-long grades from a special season that graded out just shy of super:
For only the second time in franchise history, the 49ers had three running backs rush for 500 yards apiece in a season. Raheem Mostert, Matt Breida and Tevin Coleman gave the 49ers a solid 1-2-3 punch.
During the playoffs, the 49ers went with Mostert and Coleman. Mostert rushed for 220 yards and four touchdowns in the NFC Championship Game. He had five rushing touchdowns in the playoffs.
Coleman gained 105 yards and two touchdowns in the playoff opener against the Minnesota Vikings. Breida played sparingly late in the season and did not play a snap of offense in the Super Bowl. He gained just 19 yards rushing in the postseason.
The key to the 49ers’ rushing attack was the blocking of the offensive line -- Joe Staley, Laken Tomlinson, Ben Garland, Mike Person and Mike McGlinchey -- along with tight end George Kittle and the wide receivers.
Jimmy Garoppolo had one of the best statistical seasons for a 49ers quarterback in the past two decades. He threw for 3,978 yards, which ranks fourth for a single season in franchise history.
His 8.4 yards per pass attempt and 102.0 passer rating were very good. He had two of his best games in such difficult environments as New Orleans and Seattle. Garoppolo was somebody the 49ers counted on during the regular season.
In the playoffs, the 49ers’ running game took center stage. Garoppolo was rarely asked to drop back and throw the ball around the field as the 49ers made it out of the NFC side of the bracket with relative ease.
In the Super Bowl, Garoppolo completed 18 of his first 22 pass attempts. But things finished with a thud, as the offense could not string together drives in the fourth quarter.
Although the 49ers had 13 players catch touchdown passes from Garoppolo, their passing game ultimately consisted of just four targets: George Kittle, Deebo Samuel, Emmanuel Sanders and Kendrick Bourne. Although efficient throughout the season, the passing game did not come through in the Super Bowl.
The 49ers played with a lead for most of the season, so opponents generally did not stick with the run. That was certainly the case for the 49ers’ first two playoff games. They forced teams to be one dimensional.
The 49ers did a good job of defending the run, and forcing teams into third-down situations. But the 49ers did have some difficulty against Kansas City running back Damien Williams in the Super Bowl. Williams rushed for 104 yards (6.1 average) and a touchdown.
Linebacker Fred Warner did an excellent job from beginning to end as the 49ers’ middle linebacker and top tackler. The defensive line also did a good job of controlling the line of scrimmage to allow the linebackers to roam free and make tackles.
The 49ers’ pass defense was not only the best in the NFL this season. Their pass defense yielded the fewest yards per game in more than a decade.
It all started with the pass rush. Rookie Nick Bosa led the 49ers in sacks over the course of their 19 games. He had 13 sacks, including four in the postseason, while Arik Armstead registered 12 sacks. DeForest Buckner also was a force, and Dee Ford was productive, when healthy.
The constant pressure took a lot of heat off the defensive backfield. Jimmie Ward and Jaquiski Tartt were solid at the safety positions. Richard Sherman earned a trip to the Pro Bowl. The 49ers had some uncertainty at the other spot, where Emmanuel Moseley eventually took over for Ahkello Witherspoon in the playoffs.
For 3 ½ quarters of the Super Bowl, the 49ers made Mahomes look ordinary. Warner and Tarvarius Moore came up with interceptions, and the 49ers sacked Mahomes four times. But the 49ers left Mahomes enough of an opening late in the game, and he made them pay.
Despite the way this season ended, there’s not much more that can be expected from this group.
After a rough start to the season, Robbie Gould and the place-kicking operation finished strong. Gould, holder Mitch Wishnowsky and long-snapper Kyle Nelson came together to execute some big kicks down the stretch.
So much of the 49ers’ problems early in the season can be traced to Nelson’s suspension and a period of time in which the 49ers cycled through three different long-snappers before Nelson returned to the team.
Wishnowsky was consistent as a rookie punter. His net average was 41.6 yards in the regular season and 41.1 in the playoffs. He was not as good on kickoffs, where did not show the leg strength to regular drive the ball into the end for touchbacks.
Mostert, in addition to being the team’s top rusher, also was the 49ers’ leading tackler on special teams.
Richie James was steady as the punt returner, until he muffed a punt on his first chance in the Super Bowl. He recovered his own fumble to avert a disaster.
[RELATED: Why 49ers' stunning 2019 season will be nearly impossible to replicate]
The 49ers have some playmakers on offense, but maybe not to the elite level as other teams. Still, they ranked second in the NFL in points (29.9) and fourth in total yards (381.1).
Coach Kyle Shanahan, with big assists from coordinators Mike McDaniel and Mike LaFleur, schemed it up beautifully in the run and passing games. Shanahan proved to be one of the top play-callers in the business. The 49ers’ difficulties in the final quarter of the Super Bowl do not change that.
Defensive coordinator Robert Saleh did a very good job on the other side of the ball with game-planning and adjustments. He got helping hands from a couple of newcomers to his staff: Defensive line coach Kris Kocurek and defensive backs coach/passing game coordinator Joe Woods.
Coming off a four-win season, the 49ers greatly exceeded expectations. The sting of squandering a 10-point lead in the fourth quarter of the Super Bowl still is fresh, of course. But all these pieces had to fit into place for the 49ers to advance to Super Bowl LIV in the first place.