CINCINNATI — Receiver Chad Johnson's touchdown celebration went exactly as planned. Everything else was made up on the run.
Johnson caught the first of Jon Kitna's two touchdown passes, and Rudi Johnson ran for 174 yards and two more scores Sunday as the Bengals got a win like no other in their history.
The 41-38 victory moved Cincinnati (8-6) back into a first-place tie with Baltimore in the AFC North and left the San Francisco 49ers winless on the road and eliminated from the playoffs.
"I knew we would win," Chad Johnson said. "We'll be all right. We put up 41 today."
It almost wasn't enough.
For the first time in their 36-year history, the Bengals gave up 38 points and won. San Francisco (6-8) had 502 yards and 31 first downs, but couldn't overcome its propensity to self-destruct on the road.
The 49ers are 6-1 at home and 0-7 on the road, a mystifying trend for a team that historically enjoyed travel.
"We've been looking for that answer all season long," said Jeff Garcia, who completed 26 of 33 passes for 344 yards and led a fourth-quarter comeback. "Somehow we need to show up on the same page on the same day, the offense and the defense. Giving it up three times put us in a bad situation."
The Bengals took advantage of three costly 49er fumbles, putting the game in the hands of their same-named players -- one of them a showboat, the other a season-saver.
Chad Johnson mugged for the cameras with a printed sign after his 10-yard touchdown catch. All Owens did after his touchdown later in the half was flip some snow at the fans.
Rudi Johnson scored two touchdowns in the second half as Corey Dillon's famous fill-in. Dillon sat out much of the first half of the season because of a groin injury, and was limited on Sunday because of flu.
Johnson broke a 49-yard touchdown run on fourth and one, then gave the Bengals their final score on a three-yard run with 2:18 left. He also recovered an on-side kick that clinched it.
The Bengals ran for 186 yards in the second half, keeping the 49ers at bay.
Defense, however, wasn't the 49ers' only problem.
Kevan Barlow fumbled twice deep in Bengal territory, and Kevin Hardy returned Garcia's fumble 10 yards for a touchdown.