The Steelers overcame rust and the Ravens in the two teams' thrice-postponed rematch and improved to 11-0 with a 19-14 victory on Wednesday afternoon at Heinz Field.
Head coach Mike Tomlin was happy about the result but little else associated with the Steelers' performance.
"I'm really disappointed," Tomlin fumed. "It was really junior varsity in all three phases.
"It was just bad by all parties involved, coaches first, players second. We didn't play well or coach well."
The game had originally been scheduled for Thanksgiving night.
Quarterback Ben Roethlisberger acknowledged "a very challenging last few days," but wouldn't attribute the way the Steelers played to the multiple postponements.
"I don't want to make excuses," he said. "We just weren't good enough at all today."
Added wide receiver JuJu Smith-Schuster: "I wouldn't say it hindered us. It was kind of frustrating the game kept being pushed back."
Tomlin cited too many dropped passes among what he found disappointing.
"I need to be more accurate with my passes," Roethlisberger said. "I'll take the heat for the drops and things that weren't accurate."
Baltimore crept within five points on a two-play, 84-yard drive in 32 seconds late in the fourth quarter. Quarterback Trace McSorley, who had replaced injured starter Robert Griffin III, hit wide receiver Marquise Brown for a 70-yard catch-and-run touchdown on first-and-10 from the Baltimore 30-yard line and kicker Justin Tucker's extra point brought the Ravens to within 19-14 with 2:58 left in regulation.
The Steelers received the subsequent kickoff and were able to run out the clock from there.
Baltimore fell to 6-5.
Game action photos from the Steelers' Week 12 game against the Baltimore Ravens at Heinz Field
The Ravens activated 10 players from their practice squad as COVID-19 replacements prior to kickoff.
"We played like JV," said Smith-Schuster, who caught eight passes for 37 yards and a touchdown. "We played down to their level.
"They came out with a JV squad. We were playing JV. We didn't come out and execute and play the way we wanted to play.
"It was a close game, which it should't have been."
The Steelers out-gained the Ravens, 334-219, and held a 33:39-26:21 edge in time of possession but scored just one touchdown in four red zone possessions.
Roethlisberger completed 36 of 51 passes for 266 yards, with one touchdown and one interception.
The interception occurred on a throw into the end zone on fourth-and-goal from the Baltimore 1 that ended the Steelers' second possession.
The McSorley-to-Brown touchdown late in the fourth quarter was the Ravens' first first down converted through the air.
Roethlisberger's 1-yard touchdown pass to Smith-Schuster with 13:20 left in the fourth was the first score of the second half. Kicker Chris Boswell's extra point upped the Steelers' five-point halftime lead to 12 at 19-7.
The Steelers' offense failed to score a touchdown in the first half.
Cornerback Joe Haden opened the scoring when he intercepted Griffin on third-and-4 from the Baltimore 12 and returned the ball 14 yards for a touchdown. Boswell's missed extra point, his fourth on 34 attempts, kept the Steelers' lead at 6-0, with 6:57 left in the first quarter.
The Ravens countered after gaining possession at the Steelers' 16 following a muffed punt return by wide receiver Ray-Ray McCloud and a recovery by Ravens defensive back/linebacker Anthony Levine Sr. Baltimore turned the turnover into a four-play, 16-yard drive in 2:24 that ended on a 1-yard carry by running back Gus Edwards. Tucker's extra point put the Ravens ahead, 7-6, with 2:07 left in the first.
The Steelers regained the lead at 9-7 on a 25-yard field goal by Boswell with 11:50 left in the second quarter. The Steelers' 12-play, 73-yard drive in 5:17 achieved a first-and-goal at the Ravens' 5 but eventually stalled.
Boswell's second field goal of the day, this one from 27 yards out, upped the advantage to 12-7 with 4:27 left prior to halftime. This time a 13-play, 65-yard drive in 5:14 established a first-and-goal at the Baltimore 8 before fizzling.
The Steelers took a lead into the locker room at halftime thanks in part to free safety Minkah Fitzpatrick's pass defensed on a throw into the end zone from Griffin to tight end Luke Willson on third-and-goal from the Steelers' 1 with three seconds remaining before the break.
Griffin was sacked twice in the first half and three times overall.
The Steelers increased their streak of consecutive games with at least one sack to 68, one shy of Tampa Bay's NFL-record 69 (1999-2003).
The Steelers announced prior to kickoff that center Maurkice Pouncey had been placed on the Reserve/COVID-19 list.
First-year pro J.C. Hassenauer started at center, his first career start.
Running back Benny Snell started in place of James Conner (Reserve/COVID-19 list) and finished with 60 yards on 16 carries and 33 yards on three receptions.