The San Francisco 49ers' offense clicked just in time to erase a 13-point deficit, and for the 36-year-old wide receiver to reach a pair of milestones during a late-game flurry against his former team.
Bruce scored one of the touchdowns that rescued Hill's awful day and sent the St. Louis Rams skidding to their ninth straight loss, 17-16 on Sunday.
"It was a great game in the last quarter," Bruce said. "I'm very, very honored."
Bruce became the fifth player to reach 1,000 catches on a 3-yard touchdown grab with 4:03 to go and passed Tim Brown for second on the career yards receiving list on the 49ers' go-ahead drive.
The Rams (2-13) squandered a 10-point halftime lead for the second straight week. They were ahead 16-3 with 11:36 to go, but failed to capitalize on four turnovers and four sacks. The losing streak is the franchise's longest since moving to St. Louis in 1995.
"I don't know if we're cursed," running back Steven Jackson said. "But you know, I mean, it hurts. It hurts when you feel like you've outplayed your opponent literally for almost eight quarters going back to last week."
Coach Jim Haslett was more succinct, saying "We gave the game away."
Josh Morgan got the go-ahead score on a 48-yard reception with 1:22 to go from Hill, who threw a season-worst three interceptions before putting it all together late. Hill was 10-for-15 for 127 yards in the fourth quarter, and 18-for-34 for 216 yards overall.
"The other guys are on scholarship, too, so they're going to make plays," Bruce said. "I'm real fortunate to have Shaun come back and bounce back."
After the game, coach Mike Singletary said he'd been on the verge of yanking Hill and giving backup J.T. O'Sullivan a shot.
"I don't know if I've ever played that badly, especially for that long," Hill said. "I can't explain it. It goes like sometimes, but everybody hung in there."
Morgan and Jason Hill both appeared to run the same pattern in the left corner of the end zone, and three Rams were also close by when Morgan caught a slightly underthrown ball for only his 18th catch of the season.
"I just thought 'Make the play,'" Morgan said. "It shows what Coach Singletary said, that we took another big step."
The 49ers (6-9) won without Frank Gore, sidelined for the second straight week by a sprained ankle. They forced only one turnover, but it was the clincher and gave them four victories in five games heading into next week's finale at home against the Redskins.
Bruce needed six catches for 1,000 and 60 yards to pass Brown and he hit the first milestone with five catches for 32 yards on the TD that cut the deficit to 16-10 with 4:12 to go.
After the Rams went three-and-out, he added an 8-yard grab to pass Brown two plays before Morgan's go-ahead TD.
The 15-year veteran played his first 14 seasons with the Rams, and fans crooned "BRUUCE!" in appreciation after he beat Fakhir Brown for the touchdown. Other players to reach 1,000 receptions are: Jerry Rice (1,549), Cris Carter (1,101), Marvin Harrison (1,095) and Brown (1,094).
He has 1,001 catches for 14,936 yards, trailing only Rice (1,549) in the latter category.
"Yeah, I could hear," Bruce said. "It's the diehard fans of St. Louis Rams, guys who show up no matter what. I'm pretty much speechless with everything that went on."
Ron Bartell had two interceptions and Oshiomoghe Atogwe added his team-leading fifth of the season along with a forced fumble and fumble recovery for the Rams.
Jackson had 108 yards on 32 carries, his first 100-yard effort since Game 6 despite spending time on the training table with a sore left hamstring. Rookie Keenan Burton's first career touchdown reception came in a 10-point flurry in the final 1:12 of the first half of the home finale.
The game was blacked out on local TV for the second straight week and played in a quiet stadium that appeared to be about two-thirds full for a matchup of teams that replaced coaches during the season.
The 49ers had three turnovers by halftime, matching their total from the previous three games. Hill, who was 8-for-21 for 89 yards, had entered the game with 10 TD passes and only four interceptions.
Rams G Jacob Bell (hamstring) did not play in the second half. ... Gore had 106 yards on 18 carries with two touchdowns at home in a 35-16 victory over the Rams last month. ... Torry Holt had four catches for 55 yards and has caught a pass in 152 consecutive games, 11th best in NFL history.