SANTA CLARA – If no decision had been made about the future of the 49ers’ coaching staff before the season finale, as one source indicated, it is doubtful anything occurred during Sunday’s game that bodes particularly well for Jim Tomsula.

The 49ers’ season came to merciful end with 19-16 victory over the St. Louis Rams – as sloppy as it might have been -- in front of a half-full gathering at Levi’s Stadium.

Blaine Gabbert’s 33-yard pass to Quinton Patton set up Phil Dawson’s 23-yard field goal with 3:27 remaining in the overtime period.

Dontae Johnson blasted around right end to block Greg Zeurlein’s 48-yard field goal attempt that would have won the game for the Rams with five minutes remaining in overtime.

The 49ers finish the season with a 5-11 record and are set to draft No. 7 overall.

More than two hours before kickoff on Sunday, Tomsula entered the locker room at Levi’s Stadium without any knowledge of what the future holds, he told

[MAIOCCO: Tomsula unsure of his future with 49ers]

“If it is, it is. If it isn’t, it isn’t,” Tomsula said about the possibility he would be coaching his final game with the 49ers.


Tomsula was expected to meet with 49ers CEO Jed York at some point after the game – Sunday evening or Monday morning – at which point a decision could be rendered. Tomsula has three years and $10.5 million remaining on the contract he signed last January.

Even if Tomsula were to get a second season, offensive coordinator Geep Chryst would not be retained, a source said.

Tomsula was expected to be fired and general manager Trent Baalke retained for next season, Pro Football Talk reported Sunday morning, citing a league source.

[MAIOCCO: Report: 49ers expected to fire Tomsula, retain GM Baalke]

Since 2000, only three first-time NFL head coaches were fired after just one season: Cam Cameron (Miami, 2007), Hue Jackson (Oakland, 2011) and Rob Chudzinski (Cleveland, 2013).

Tomsula’s chance at a second season as head coach looked secure after the 49ers’ 26-20 overtime victory over the Chicago Bears on Dec. 6. In the moments following the victory, CEO Jed York tweeted, “Very fun win.”

But the 49ers took several steps back in the weeks that ensued, including a lackluster showing against the Cleveland Browns the following week in a 24-10 loss.

The 49ers’ lack of discipline was on display last week when their defense was called for seven offside penalties or neutral zone infractions in a 32-17 loss to the Detroit Lions.

On Sunday, outside linebacker Ahmad Brooks took a two-handed shove to the face of Rams center Tim Barnes long after a play was over. The Rams would’ve been faced with a third-and-12 situation. After Brooks’ unnecessary-roughness penalty, the Rams picked up 15 yards and a first down.

Instead, Brooks’ meltdown gave St. Louis a first down and led to Greg Zuerlein’s 32-yard field goal, which pulled the Rams to within 10-6 in the second quarter. Brooks was benched for the remainder of the first half and appeared for a play late in the third quarter.

With about five minutes remaining in regulation, Chryst called for a pitch to running back DuJuan Harris. Blaine Gabbert’s toss was off the mark, and Harris recovered for a 12-yard loss. That set up Phil Dawson for a 38-yard field goal tie the game at 16-16 with 4:28 remaining.

Gabbert, making his eighth consecutive start, completed 28 of 44 passes for 354 yards with one touchdown and one interception.

Gabbert converted a miraculous third-and-6 late in the fourth quarter when he somehow avoided a sack and threw to Anquan Boldin for 27 yards.

But the drive immediately stalled, and Tomsula passed up a 56-yard field-goal attempt to send out Bradley Pinion to punt. Pinion’s punt went into the end zone for a net-17 effort to help set the stage for overtime.

Kap is back: Quarterback Colin Kaepernick returned to the 49ers’ sideline for the first time since going on season-ending injured reserve and undergoing surgery to repair a torn labrum in his left shoulder on Nov. 24.


The 49ers said previously that Kaepernick was not allowed on the sideline for previous games at Levi’s Stadium due to injury concerns. Kaepernick is no longer wearing a sling on his left arm.

Boldin scores: In what might have been the final game of his three-year 49ers career, wide receiver Anquan Boldin got the 49ers in the end zone with a 33-yard touchdown reception on the first play of the second quarter.

The play was vintage Boldin, who used his strength to box out Rams cornerback Janoris Jenkins and deposit him on the ground. Boldin made the catch and backpedaled the rest of the way into the end zone while Jenkins was out of the picture.

Boldin, a 13-year veteran, is scheduled to be an unrestricted free agent in the offseason. Boldin ranks 12th all time in receptions and 17th in receiving yards in NFL history.

Next year’s opponents: The 49ers might not know who will be their coach next season, but they know their list of opponents. The 49ers will have home games against New Orleans, Tampa Bay, New England, N.Y. Jets, Dallas, Arizona, Rams, Seattle. And the 49ers’ road games will be against Atlanta, Carolina, Buffalo, Miami, Chicago, Arizona, St. Louis and Seattle.

[MAIOCCO: Patriots visit highlights 49ers' 2016 schedule]

This ‘n’ that: Second-year player Jimmie Ward got his first career start at safety, as he got the call in place of Jaquiski Tartt, who was sidelined with a knee injury. . . Rookie running back Mike Davis entered the game with 24 yards rushing on 25 attempts in his rookie season before a fractured left hand sidelined him for seven games. But he avoided becoming the first NFL player since 2000 to have less than a 1-yard average on 25 attempts since Donnell Bennett when he had a season-high 13-yard gain in the first quarter. . . Return man Bruce Ellington helped foil a Rams fake-punt attempt when he tracked punter Johnny Hekker’s deep pass intended for Bradley Marquez in the end zone. The ball fell incomplete on a fourth-and-8 play from the 49ers’ 36-yard line. . . On the 49ers’ next possession, Dawson kicked a 26-yard field goal to give the 49ers a 10-3 lead. . . Two Rams defensive linemen teamed up to set up St. Louis’ first touchdown of the game late in the first half. Aaron Donald tipped Gabbert’s pass at the line of scrimmage and Eugene Sims made the interception. Sims, who is listed at 269 pounds, then showed some nifty footwork in twice eluding the tackle attempts of wide receiver Quinton Patton, as well as running back Mike Davis. Sims returned the ball to the 3-yard line. Two plays later, Tre Mason scored on a 4-yard run to give the Rams a 13-10 lead with 1:31 remaining in the half. . . One of the bigger cheers of Sunday happened when Warriors guard Steph Curry was shown on the video board early in the third quarter. . . Harris started at running back and had another fine day. He gained 67 yards on 16 attempts. He also caught eight passes for 86 yards. . . Rams running back Todd Gurley, who ranks No. 3 in the NFL in rushing, sat out with a foot injury.