Recap: Baltimore vs. Tampa Bay

Baltimore, MD (Sports Network) - Joe Flacco threw for 289 yards and a pair of touchdowns, and the Baltimore defense held on just long enough for a 17-10 victory over the surprising Tampa Bay Buccaneers.

Flacco completed 25-of-35 passes and was intercepted once for the Ravens (8-3), who kept pace atop the AFC North with the Steelers, who are 8-3 after beating the Buffalo Bills in overtime. Ray Rice ran 20 times for 85 yards and caught seven passes for 47 yards in the win.

Todd Heap recorded a 65-yard touchdown reception, the team's longest play of the season, and Derrick Mason also caught a touchdown pass for Baltimore.

"It was a tough game. (Tampa Bay) is a good team," Rice said. "Look at where they came from, look at their record, they have quality wins. That team is going to be a playoff-caliber team."

Josh Freeman was largely ineffective, hitting on only 17-of-37 passes for 162 yards and a late touchdown for the Buccaneers (7-4), who are 7-0 against teams under .500 this season and 0-4 against teams over .500 after Sunday's loss.

Tampa Bay garnered only 263 yards of offense, including just 95 in a subpar first half. The Ravens built up a two-touchdown lead after the opening 30 minutes and held off Freeman, who has engineered several fourth-quarter comebacks this season.

"We don't make excuses. We didn't play well enough to win," said Bucs head coach Raheem Morris. "Obviously, we did something wrong. We've got to go back to the lab, and we've got to come out and find a way to be better on offense and be better on defense, be better on special teams and win football games like this. There are no moral victories."

The Bucs didn't find the end zone until there were three minutes left in the game, as Freeman directed a successful 13-play, 77-yard drive that ended on his five-yard touchdown pass to Kellen Winslow.

Tampa Bay still had two timeouts and kicked deep to the Ravens with the hope that the defense would hold. After a one-yard run by Rice and a Buccaneers timeout, Rice caught a short pass over the middle and raced 11 yards for a first down.

On the next play, Rice's 16-yard rush took the clock to the two-minute warning. The Ravens continued to give it to their primary running threat, and back-to-back six-yard runs produced another first down and a pair of kneels by Flacco to end the game.

Neither team crossed the opposing 40 until Baltimore's third drive of the first quarter. A Tampa Bay punt from deep in its own territory gave the Ravens good field position at the Bucs' 41, and Billy Cundiff kicked a 45-yard field goal on the third play of the second quarter.

The Bucs had 1st-and-goal from the four-yard line later in the quarter, but settled for Connor Barth's 22-yard field goal to tie the game. Baltimore responded with two consecutive successful drives to move ahead for good.

On the fourth play of the ensuing Ravens series, Flacco found Heap all alone behind the defense down the left sideline, and Heap raced 65 yards to the end zone for a 10-3 lead with 3:04 until halftime.

The Bucs went three-and-out, and Baltimore took over at its own 45 with 1:54 to go. A 24-yard defensive pass interference penalty put the ball at the 10, and Flacco hit Mason up the middle on the next play for a touchdown and 14- point halftime advantage.

The Ravens' defense went to work in the third and fourth quarters while the offense stumbled. The Buccaneers entered Baltimore territory on two of their three third-quarter drives, but came away empty-handed.

Tampa Bay got as close as the Baltimore 38 in the third, but, on 3rd-and-6, Freeman threw an incomplete pass, and the Bucs elected to punt.

Baltimore spent all four of its series in the quarter in its own end, but held Tampa Bay again to begin the fourth.