Baltimore won the toss to start the game and elected to defer. The Buccaneers' offense got to work but wouldn't be able to come up with anything through the cold and wet conditions. Running back Peyton Barber managed 15 yards on the first play of the game but a couple incompletions and a third-down sack of quarterback Jameis Winston forced the Tampa Bay punt.
The Bucs' defense would return the favor, forcing a Ravens' three-and-out on their first possession of the game on good run coverage and pressure on Baltimore quarterback Lamar Jackson.
After gaining a first down on a quarterback sneak by Winston, the Bucs stalled again, not being able to get anything going through the air in the rain. The Ravens got another shot and we're immediately gifted a fresh set of downs on a pass interference call on the Bucs. It wouldn't amount to anything after a near-interception by linebacker Riley Bullough on third down, forcing the Ravens to punt.
The Bucs weren't able to do anything on the next drive, being forced to punt again. The next Ravens possession saw the Bucs' defense make their mark, as linebacker Lavonte David recovered a fumble at midfield.
From there, the Bucs powered down the field behind some hard-fought runs by running back Peyton Barber. He would eventually punch it in on a three-yard touchdown run, capitalizing on the turnover. After a bad snap on the extra point, the Bucs wouldn't convert and hold a 6-0 lead at the start of the second quarter.
The Ravens answered on a drive that took 8:10 seconds, taking the lead on an around by wide receiver Chris Moore from the five-yard-line. After the good extra point, the Ravens pulled ahead 7-6 with just under four minutes to go before the half.
It looked as if another Bucs drive would stall after a holding penalty forced a third-and-20 situation inside their own 20-yard line. The Ravens brought pressure on Winston but he was able to escape, scrambling to his left and launching a 64-yard pass down the field for Mike Evans, who made the even more spectacular catch. He was taken down by his facemask, tacking on more yards and the Bucs found themselves at the Ravens' 11-yard line. The drive was capped off by a 21-yard field goal by Cairo Santos, giving the Bucs a 9-7 lead with 1:43 left before halftime.
Baltimore was able to move quickly down the field on their next possession. The Bucs' defense was able to hold as the Ravens got inside the Tampa Bay 10. On third-and-five, it was linebacker Lavonte David wrapping Jackson up forcing the Ravens to settle for a field goal. It meant another lead change as the Bucs went into the half down 10-9.
The Ravens got the ball to start the half and quarterback Lamar Jackson showed off his mobility as Baltimore drove down the field. The drive was capped off by a Gus Edwards rushing touchdown, extending the Ravens' lead to 17-9 with 10:03 left In the third.
The Bucs came up empty on the next possession but on the punt return, the Ravens' Cyrus Jones touched the football, making it live. The Bucs' Josh Shaw ended up recovering in a swarm of white jerseys and the Bucs got the ball back at the Ravens' 14-yard line. They'd convert the short field into a 28-yard field goal, cutting the Baltimore lead to 17-12 with 5:46 left in the third quarter.
The next drive took the two teams into the fourth quarter. After crossing into Buccaneer territory, the Ravens would be forced to settle for a field goal behind a big third-down stop by the Tampa Bay defense. Justin Tucker converted a 35-yard try, extending the Baltimore lead to 20-12.
The first play of the Bucs' next possession saw cornerback Marlon Humphrey intercept a pass intended for Mike Evans, giving the Ravens the ball back. On a big series for the Bucs' defense, the Ravens were kept out of field goal range behind a lot of good pressure by defensive end Carl Nassib. Baltimore would end up punting on fourth-and-41, giving the Bucs good field position with over 11 minutes left in the fourth quarter.
The Bucs were faced with a fourth-and-four situation at the Ravens' 33-yard line but the pass attempt was broken up as the Ravens took over on downs. The Ravens stuck to the run as they continued down the field, running the clock down and forcing the Buccaneers to use their last timeout.
Following the two-minute warning, the Ravens continued to take a knee to take the clock all the way down and secure the win.