JACKSONVILLE, Fla. -- Jack Del Rio walked out of the locker room and sighed loudly. It was all the Jacksonville coach needed to say about this one.
The Jaguars (10-4) moved closer to a playoff berth, but they made it more difficult than it should have been and raised more questions about an offense that has been somewhat stagnant without quarterback Byron Leftwich.
"You have to be concerned," said Fred Taylor, who ran 17 times for 61 yards. "We've been winning some ugly ones, but they count."
Jacksonville won for the sixth time in seven games -- all of the victories against teams with losing records -- and the last four have come by a combined 17 points.
Nonetheless, the Jags can return to the postseason for the first time since 1999 with a victory against Houston or Tennessee to end the season.
"It's a great feeling," Taylor said. "It's always good to get double-digit wins, especially around this place. We haven't had 10 wins in a while. It feels good. It was ugly, but this is the NFL. It's not the BCS system, so it still counts no matter how pretty or ugly it is."
The Jaguars could have clinched a playoff spot Sunday with a victory and some help, but wins by Pittsburgh and San Diego prevented that.
Jacksonville didn't get the assistance it needed, but then again, it almost didn't matter. The Jags nearly had a letdown against the 49ers (2-12), who entered the game ranked last in the league in offense and defense.
Garrard struggled some against San Francisco's constant blitzes, but did enough to manage two scoring drives. He was nearly perfect on both.
He was 4-for-4 passing for 22 yards on the second-quarter scoring drive that put the Jaguars ahead 7-3. He capped it with a 13-yard run in which he spun away from hard-hitting linebacker Julian Peterson and into the end zone.
"It was a pretty good move," Garrard said. "I was lucky to end up in the end zone and not the locker room."
Garrard was almost as solid on the game-winning drive. He was 4-of-5 for 36 yards, and his only incompletion came when rookie Matt Jones dropped a pass on third down. Scobee finished off the drive with 32-yard field goal that put the Jags ahead for good.
But 10 points against San Francisco? At home? With a possible playoff spot at stake? The 49ers gave up 36 points a game in their first six road losses and were playing with numerous injuries on defense.
"I'm concerned that we're not putting up a lot of points," said Jimmy Smith, who caught six passes for 70 yards. "We need to step it up and make more plays."
San Francisco, which has lost 12 of 13 since beating St. Louis in the season opener, led 9-7 after Joe Nedney's 33-yard field goal -- his third of the game -- on the second play of the fourth quarter. But Nedney's ensuing kickoff went out of bounds and gave the Jaguars good field position.
Garrard moved the offense into field goal range from there.
San Francisco had plenty of chances to retake the lead, but rookie Alex Smith threw his 10th interception of the season and the offense converted just one of 13 third-down opportunities.
Smith finished 8-of-24 for 123 yards and ran four times for 30 yards. The good news for the 49ers was the Smith didn't fumble, something that has become a hot topic after fumbling three times last week at Seattle.
"He played well in spurts, and at other times, not as good," coach Mike Nolan said. "As we're well aware, that is going to happen with a young quarterback."
"Certainly, with Brandon Lloyd going down, we lost one of his weapons, one of the people that he can go to," Nolan said. "That made it a little more difficult on him, but he continues to fight through it."
- Smith moved into seventh place on the NFL's all-time receptions list with 852, passing Irving Fryar. Smith also moved into 12th place on the all-time receiving list with 12,155 yards, passing Charlie Joyner.
- Jags RB Greg Jones left in the fourth quarter with a strained neck, but said he was OK.
- 49ers rookie Frank Gore ran 19 times for 79 yards and caught three passes for 57 yards, including a 47-yarder that set up a field goal just before halftime.