PITTSBURGH -- The odds of Pittsburgh reaching the postseason remain slim, but the Steelers looked like a playoff team for three quarters Sunday night.
Wide receiver Antonio Brown scored two first-quarter touchdowns, including one on a 67-yard punt return, as the Steelers took a big early lead and held on for a 30-20 victory over the AFC North-leading Cincinnati Bengals at Heinz Field.
The Steelers (6-8) snapped a two-game losing streak and kept alive their long-shot playoff dream.
"I've been saying for a number of weeks now that there is no quit in this football team, and we showed it tonight," Steelers quarterback Ben Roethlisberger said. "We played well in all three phases of the game and beat the best team in our division."
The Bengals (9-5) saw their three-game winning streak end. They will have to wait at least one more week to clinch a third consecutive playoff berth.
"I figure if we're not going to win the AFC North, at least beat the team that is ruling the division and try to make it interesting," Steelers cornerback Ike Taylor said.
While the Steelers played well, Bengals coach Marvin Lewis was disappointed by how his team played.
"We didn't make anything happen," he said. "We didn't make any plays, create any opportunities early in the football game. We really made it hard on ourselves."
If the Bengals had won, they could have won the division title on Monday night if the Baltimore Ravens lost or tied against the Detroit Lions.
"Anytime we lose, it's a squandered opportunity," Lewis said. "All we can control is us, and that's all I keep telling out our guys. Just worry about us. Tonight, we didn't take care of us."
Roethlisberger was an efficient 20-for-25 for 191 yards and one touchdown. However, his team-record streak of 207 consecutive passes without an interception ended in the third quarter when he was picked off by cornerback Adam Jones.
Roethlisberger broke his single-season team completion record, raising his total to 340. He completed 337 passes in 2009. Roethlisberger also improved his career record against the Bengals to 15-6.
Brown had five catches for 66 yards, giving him 95 receptions for the season. He has two games left in his bid to break the team record of 112 set by Hines Ward in 2012.
Kicker Shaun Suisham booted three field goals for the Steelers, including one from 26 yards in the third quarter that pushed the lead to 30-7.
"It's a good AFC North win for us at home," Steelers coach Mike Tomlin said. "Really, it was kind of a team victory. I thought we rode the wave that the special teams provided there early on in the first half of the game, but it was just largely a really good effort by a lot of people against what is obviously a very good team."
Quarterback Andy Dalton threw two fourth-quarter touchdowns passes in an attempt to rally the Bengals, a 1-yarder to tight end Tyler Eifert in the opening minute and a 13-yarder to wide receiver Marvin Jones with 5:46 remaining.
Jones' touchdown drew the Bengals within 10 points, but Pittsburgh linebacker Jarvis Jones batted down a pass on a two-point conversion try that would have made it a one-score game.
The Bengals got the ball back one more time but turned the ball over on downs at their 38-yard line with 2:36 left.
Dalton finished with 230 yards passing, completing 25 of 44 attempts with two touchdowns and no interceptions. Cincinnati wide receiver A.J. Green had nine receptions for 93 yards.
The Steelers scored on each of their five first-half possessions to build a 27-7 lead at intermission.
Pittsburgh got a great break to set up the first score when Bengals punter Kevin Huber dropped a snap and was downed at the Steelers 1-yard line. That set up running back Le'Veon Bell's scoring plunge.
The Steelers increased the lead to 14-0 when Roethlisberger found Brown in the end zone for a 12-yard score. A little more than a minute later, Brown returned a punt 67 yards up the middle for a touchdown to make it 21-0 with 1:14 left in the first quarter.
Suisham converted field goals from 25 and 45 yards in the second quarter. Cincinnati got its first score on running back Giovani Bernard's 1-yard touchdown run following a 52-yard kickoff return from wide receiver Brandon Tate.
NOTES: Bengals P Kevin Huber suffered a broken jaw when he was blocked by Steelers LB Terence Garvin on Antonio Brown's punt-return touchdown. K Mike Nugent took over punting duties. ... Bengals LB James Harrison (concussion) left the game in first quarter. ... Steelers LB LaMarr Woodley (calf) came out of the game on the first series. ... Bengals CB Terence Newman (knee) was inactive and replaced in the lineup by CB Dre Kirkpatrick, who made his first career start. ... Steelers DE Brett Keisel (foot) was inactive for the fourth time in the past five games. Ziggy Hood started in his place. Pittsburgh NT Steve McLendon (ankle) also was inactive. He was replaced by Al Woods. ... For the first time, the Bengals played the same opponent twice in prime time during the same season. Their 20-10 victory over the Steelers on Sept. 16 at Cincinnati was on a Monday night. ... The Bengals host the Minnesota Vikings next Sunday, while the Steelers visit the Green Bay Packers.