Mokoena (centre) celebrates after scoring for Blackburn
Aaron Mokoena's first Blackburn goal was followed by his first red card as 10-man Rovers became the first team to reach this season's FA Cup semi-finals.
Mokoena fired Blackburn in front after 28 minutes when Manchester City failed to deal with Stephen Warnock's cross.
But the South African was sent off with 20 minutes left after a second booking.
City made few chances in a feisty game, with Matt Derbyshire's late tap-in securing victory for Rovers, who have beaten City three times this season.
The visitors' FA Cup exit will increase the pressure on manager Stuart Pearce, who had rung the changes with his starting line-up, Darius Vassell returning to help the goal-shy front line.
Dietmar Hamman also made his first start since October, although just about his only contribution in the match was to pick up a booking for cutting down Benni McCarthy in the first half.
Vassell's speed and running in and out of the channels had helped the visitors get off to a promising start.
The ex-England international put Joey Barton through, only for the move to end with the midfielder's weak ball across the goal.
And Vassell almost got onto the end of an undercooked backpass, forcing keeper Brad Friedel to rush out and just manage to clear the danger.
Buoyed by a vocal travelling support of about 7,000, it was City and not Blackburn who looked like the in-form team.
But the warning signs for City began when Derbyshire headed over Bentley's inch-perfect cross after 25 minutes.
Minutes later the visitors' hopes were checked completely when Blackburn opened the scoring.
Warnock's cross from the left was not dealt with by the City defence and fell kindly to Mokoena, whose left-foot shot found the corner of the net.
Mokoena's fellow South African McCarthy poked the ball into the net minutes later only for the linesman's flag to be raised for offside.
City looked in danger of deflating, especially when Barton and Bernardo Corradi exchanged angry words after another move broke down.
Blackburn maintained the pressure after half-time, with Bentley's lovely chip rebounding off the crossbar when goalkeeper Nicky Weaver was stranded off his line.
At the other end, City huffed and puffed but could not create any clear-cut chances, although Corradi bundled the ball wide from Stephen Ireland's cutback.
They were handed a potential lifeline when Mokoena received his marching orders in the 69th minute.
The defender, who had been booked for a thoughtless late tackle in the first half, was again yellow-carded for wrestling down Corradi.
But even with a man advantage, Manchester City looked no more likely to score.
And Derbyshire wrapped up victory for Blackburn in injury time, stroking home Sergio Peter's cross to put Rovers in the last four for the second time in three years.
Blackburn: Friedel, Emerton, Samba, Nelsen (Khizanishvili 46), Warnock, Bentley, Mokoena, Kerimoglu (Peter 80), Pedersen, McCarthy (Roberts 85), Derbyshire.
Subs Not Used: Enckelman, Gallagher.
Sent Off: Mokoena (69).
Booked: Nelsen, Mokoena, Pedersen, Bentley.
Goals: Mokoena 28, Derbyshire 90.
Man City: Weaver, Richards, Dunne, Distin, Jihai (Beasley 57), Barton, Hamann (Samaras 76), Ireland, Ball, Corradi (Mpenza 81), Vassell.
Subs Not Used: Isaksson, Trabelsi.
Booked: Barton, Hamann, Dunne, Richards.
Ref: M Dean (Wirral).