Joe Flacco led yet another clutch fourth-quarter drive at Heinz Field.
This time, however, Pittsburgh got the last laugh.
Flacco led a 16-play drive to tie the game with one minute, 58 seconds remaining. But a long special teams return that nearly went for a touchdown and three completions by Steelers quarterback Ben Roethlisberger spoiled the Ravens' comeback bid.
Kicker Shaun Suisham nailed a game-winning 42-yard field goal as time expired, giving the Steelers a 19-16 home win.
It snapped the Ravens' streak of three straight regular-season wins at Heinz Field. More gut-wrenching, it sent the Ravens into their bye with a 3-4 record and two straight losses.
It's the first time the Ravens have been under .500 this late in the season under Head Coach John Harbaugh, and they're now two games behind the Cincinnati Bengals in the AFC North and just one win ahead of the Steelers.
"It's sick, it's disgusting," linebacker Terrell Suggs said. "We're in a state of emergency now. We can't let any more of these games go by losing by two or losing by three. We've got to win these games."
Behind a spread and quicker-paced attack, the Ravens offense move the ball better than it had in previous games, and found spurts of success with the running game.
But it struggled to put the ball in the end zone, settling for three field goals. The Ravens didn't notch a touchdown until Flacco found tight end Dallas Clark open in the back of the end zone with one minute, 58 seconds remaining in the game.
The Steelers methodically and surprisingly ran the ball on Baltimore's defense and controlled the clock. Rookie running back Le'Veon Bell ran 19 times for 93 yards, including several times out of the rarely-seen Wildcat formation as the Steelers broke out all the tricks.
Needing more offensive opportunities, Harbaugh called for an onside kick when trailing by four points with just more than 13 minutes left. But it failed and was recovered by Pittsburgh, leading to a field goal that proved to be big in a close game.
It's the third straight loss the Ravens have suffered by three points or less this season, including back-to-back games. They fell to Green Bay, 19-17, last week.
"The thing we have to do is find a way to win these games," Harbaugh said. "You've got to find a way to become a good football team through finding a way to win."
The Steelers got on the board first with a 3-yard inside shovel pass to tight end Health Miller for a touchdown. The Ravens were chasing from that point on.
Baltimore answered with a 10-play drive of its own, but was stuffed on a key third-and-1 and settled for a 46-yard field goal by Justin Tucker to cut the Steelers' lead to 7-3.
Pittsburgh continued to run the ball. The Steelers entered the game ranked 31st in the NFL with 61 rushing yards per game and had 64 by the end of their third possession. They finished for 141 on the day.
"We didn't do a good enough job," Harbaugh said of the run defense. "To me, them being able to run the ball like they did extended those drives."
Behind several solid gains by Bell, the Steelers extended their lead to 10-3 in the second quarter with a 34-yard field goal.
The Ravens defense got a turnover near the end of the first half when linebacker Daryl Smith forced a fumble, recovered by rookie Matt Elam. The Ravens moved the ball near the red zone, but had to settle for another field goal, this time from 38 yards out to cut the Steelers' lead to 10-6.
"I thought we moved the ball pretty well," Flacco said. "I thought once we got in the red zone we got shut down a little bit. … When you get a game like that where you have so few possessions you have to make them all count. We weren't able to get in the end zone enough."
Flacco missed a chance at a touchdown at the start of the second half when he had Jacoby Jones open deep but underthrew him.
Bell continued to find running room in the second half, and the Ravens helped the Steelers' cause with penalties. Elvis Dumervil was flagged twice on the same drive for personal fouls, once on a late hit on Roethlisberger and then for grabbing his facemask. The defense still held up, forcing another Suisham field goal and remaining just a touchdown behind, 13-6.
The Ravens offense moved back into scoring position thanks to a 41-yard pass to Torrey Smith and successful quarterback sneak on fourth-and-1.
But it once again failed to punch the ball into the end zone. Flacco scrambled to elude being sacked, but his fling to Tandon Doss went incomplete and he didn't see Jones open in the back of the end zone. Tucker kicked a 32-yard field goal to pull to four points down again, 13-9.
That's when Harbaugh made his gutsy onside kick call.
Tucker tried to dribble a ball 10 yards and recover it himself. Instead, he got blasted by linebacker Vince Williams and the Steelers recovered in Ravens territory. Baltimore wouldn't have gotten it even if Tucker recovered because safety Jeromy Miles was offsides.
The Steelers, already in Ravens territory, booted a 38-yard field goal to go back up by seven points with 9:59 left.
"It felt like we steal a possession there and go down and win the game," Harbaugh said.
Flacco went 9-of-10 for 60 yards and converted four third downs with passes. He eluded pressure once to find Jones for an 8-yard gain and he fired a tight pass across the middle to Doss for a 13-yard pickup. His touchdown pass to Clark came on third-and-1.
The Steelers started their next drive at their own 37 when Emmanuel Sanders nearly broke a touchdown up the right sideline. He barely stepped out of bounds on the return, but it still gave Pittsburgh prime starting position.
Roethlisberger hit a 7-yard pass, then got a free first down on an illegal contact penalty, taking them to midfield. Then Ravens cornerback Corey Graham missed a tackle on slippery Steelers wideout Antonio Brown, leading to a 13-yard gain. A final 11-yard pass to Brown put Pittsburgh well into field-goal range for Suisham's game-winner.
Now Baltimore goes into the bye with a sour taste in its mouth.
"We're very concerned," Suggs said. "It's been very rare in this franchise that we've been under .500 except for the exception of the first game. This happened at a perfect time for us to address everything. We can't kid ourselves anymore. We've got a tremendous amount of work to do."