Cardiff moved four points clear at the top of the Championship with an emphatic win at Blackburn.
Mark Hudson headed City into a half-time lead, but Joshua King slotted under visiting keeper David Marshall to level just after the break.
Craig Bellamy, who earlier hit the crossbar, fired Cardiff ahead from six yards before Joe Mason latched on to a Heidar Helguson header to make it 3-1.
Substitute Kim Bo-Kyung capped a fine victory with the fourth from 18 yards.
The result leaves Blackburn still looking for a home win under new manager Henning Berg and the Rovers fans left in Ewood Park at the final whistle showed their dissatisfaction at the latest defeat with a chorus of boos.
Cardiff City facts
- Cardiff City have dropped just two points in their last six Championship matches
- Their last defeat was 5-4 against Charlton on 6 November
- The 4-1 score equalled Cardiff's best win at Ewood Park.
- Cardiff City had not won at Blackburn since 1980.
The home team had started brightly with King having the first sight of goal but he was denied by the sliding challenge of Cardiff captain Hudson.
At the back, Blackburn looked equally comfortable with Martin Olsson brilliantly clearing when Craig Noone was poised to tap in Andrew Taylor's superb left-footed cross.
However, on the half hour, Cardiff took the lead with Hudson heading a Noone cross past Blackburn keeper Paul Robinson from six yards.
The goal came after a mini fracas in the centre circle which had been instigated by Jason Lowe's late tackle on Bellamy - Lowe was cautioned for his challenge but the Welsh winger appeared to strike the Rovers midfielder with an elbow as they fell to the floor.
Rovers' Argentina midfielder Formica was causing problems for the Bluebirds' defence with his probing runs but the visitors were generally in control of the match.
And it was Bellamy who went closest to doubling their lead before the break, latching on to a superb through ball but his left-foot shot rattled the crossbar with Robinson stranded.
Half-time boos from the home fans turned to cheers within five minutes of the restart as Colin Kazim-Richards, on as a substitute, controlled a Jordan Rhodes flick-on before releasing King who slotted the ball between Marshall's legs to equalise.
However, City were back in the lead within five minutes as Helguson's header put Bellamy through, and he fired a left-foot shot from six yards across Robinson to register his first goal at Ewood Park since leaving Rovers in 2006.
Blackburn should have equalised again when Dickson Etuhu's deflected shot brought a superb save from Marshall, and in the ensuing scramble Formica struck the top of the crossbar with an open goal at his mercy.
The miss proved costly as Rovers capitulated in the final 10 minutes.
In the 82nd-minute Mason chased his own flick on before firing low past Robinson, and within two minutes fellow substitute Kim Bo-Kyung fired a left footed shot in from 18 yards to round off a quick counter-attack.
That was the cue for Blackburn's unhappy fans to flood out of the gates and leave the hardy travelling supporters to celebrate a famous win.
VIEW FROM THE DRESSING ROOM
Blackburn Rovers manager Henning Berg said: "We are disappointed to lose another game at home.
"We think Cardiff were the better team all over, although maybe not as much as the scoreline suggested but you can't have any complaints. They were more experienced than us, they had far better finishing and they also defended better than us - I think that was the key in this game.
"We were not happy with the way we defended - we can defend much better than we did and, also, the way we used the ball in the first half is a little bit of a way off where we want to be. We can play better than this."
Cardiff City manager Malky MacKay told BBC Radio Wales: "To come up here and play the way we've played tonight as well as getting the goals, we were clinical along with playing well tonight and I was delighted.
"We were in total control in the first half. They scored early in the second half and we had maybe five minutes when they had a bit of momentum, but after that again I thought we controlled the game and we were very clinical in our finishing."
- 01 Robinson
- 03 Mn Olsson Booked
- 16 Dann
- 27 Henley
- 31 G Hanley Booked
- 06 Lowe Booked
- 10 Formica (Nunes - 70' )
- 14 Ms Olsson (Kazim-Richards - 46' )
- 18 Etuhu (Rochina - 81' )
- 11 Rhodes
- 15 King
- 34 Kean
- 05 Givet
- 07 Nunes
- 12 Pedersen
- 33 Vukcevic
- 23 Rochina
- 39 Kazim-Richards
- 01 Marshall
- 03 Taylor
- 05 Hudson Booked
- 06 Turner
- 12 Connolly
- 07 Whittingham
- 08 Cowie
- 11 Conway
- 16 Noone Booked (Kim Bo-Kyung - 69' )
- 22 Helguson Booked (Gestede - 90' )
- 39 Bellamy (Mason - 80' )
- 32 Lewis
- 02 McNaughton
- 13 Kim Bo-Kyung
- 17 Gunnarsson
- 24 Lappin
- 15 Gestede
- 20 Mason
Live Text Commentary
Full Time The referee signals the end of the game.90:00 +1:43
Ruben Rochina takes the free kick.90:00 +1:43 Substitution
Substitution Rudy Gestede joins the action as a substitute, replacing Heidar Helguson.90:00 +1:43
Mark Hudson challenges Colin Kazim-Richards unfairly and gives away a free kick.90:00 +1:26
Martin Olsson fouled by Joe Mason, the ref awards a free kick. Free kick taken by Paul Robinson.90:00 +0:29
The official flags Jordan Rhodes offside. David Marshall takes the free kick.89:31
Corner taken by Martin Olsson from the left by-line played to the near post, clearance made by Peter Whittingham.86:29
Foul by Peter Whittingham on Ruben Rochina, free kick awarded. Paul Robinson takes the free kick.84:54
The assist for the goal came from Heidar Helguson.84:54 Goal scored
Goal! - Bo-Kyung Kim - Blackburn 1 - 4 Cardiff Bo-Kyung Kim grabs a goal from the edge of the penalty box to the bottom right corner of the goal. Blackburn 1-4 Cardiff.83:37
Assist by Heidar Helguson.83:37 Goal scored
Goal! - Joe Mason - Blackburn 1 - 3 Cardiff A goal is scored by Joe Mason from inside the penalty area to the bottom left corner of the goal. Blackburn 1-3 Cardiff.82:03
Header on goal by Joshua King from inside the box goes harmlessly over the target.80:20 Substitution
Substitution Ruben Rochina is brought on as a substitute for Dickson Etuhu.79:40 Substitution
Substitution Joe Mason replaces Craig Bellamy.79:23
Heidar Helguson produces a header from inside the area that goes over the bar.73:48
Free kick crossed left-footed by Peter Whittingham, clearance made by Jason Lowe.73:48 Booking
Booking Grant Hanley is shown a yellow card.73:32
Grant Hanley challenges Craig Bellamy unfairly and gives away a free kick.71:55
Free kick awarded for an unfair challenge on Craig Conway by Joshua King. Free kick taken by David Marshall.
Craig Bellamy is ruled offside. Paul Robinson takes the free kick.70:12
Corner taken left-footed by Fabio Nunes to the near post, Andrew Taylor makes a clearance.69:57
Shot from just outside the box by Jason Lowe goes over the target.68:34
Jason Lowe restarts play with the free kick.68:34 Substitution
Substitution Mauro Formica leaves the field to be replaced by Fabio Nunes.68:34 Substitution
Substitution Bo-Kyung Kim replaces Craig Noone.68:34 Booking
Booking Booking for Heidar Helguson.68:26
Heidar Helguson challenges Colin Kazim-Richards unfairly and gives away a free kick.67:30
Peter Whittingham restarts play with the free kick.67:30 Booking
Booking The referee books Martin Olsson for unsporting behaviour.66:55
Martin Olsson gives away a free kick for an unfair challenge on Craig Noone.64:55
Colin Kazim-Richards shoots direct from the free kick, save by David Marshall.64:55 Booking
Booking Booking for Craig Noone.64:50
Foul by Craig Noone on Joshua King, free kick awarded.64:40
Andrew Taylor sends in a cross.63:47
Matthew Connolly fouled by Dickson Etuhu, the ref awards a free kick. Peter Whittingham takes the free kick.63:12
Mauro Formica takes a shot.62:55
Shot by Dickson Etuhu from 20 yards. Save by David Marshall.62:41
The ball is crossed by Martin Olsson, Andrew Taylor makes a clearance.61:40
Effort from long distance by Mauro Formica goes wide right of the goal.59:35
Free kick awarded for a foul by Mark Hudson on Colin Kazim-Richards. Jason Lowe restarts play with the free kick.58:48
Inswinging corner taken by Craig Bellamy from the left by-line.57:30
Martin Olsson takes a outswinging corner.56:19
Foul by Colin Kazim-Richards on Mark Hudson, free kick awarded. Free kick taken by David Marshall.55:00
Assist by Heidar Helguson.55:00 Goal scored
Goal! - Craig Bellamy - Blackburn 1 - 2 Cardiff Craig Bellamy finds the net with a goal from inside the penalty box low into the middle of the goal. Blackburn 1-2 Cardiff.54:25
Foul by Joshua King on Matthew Connolly, free kick awarded. Direct free kick taken by Peter Whittingham.51:48
Martin Olsson takes a outswinging corner.51:32
Colin Kazim-Richards takes a shot. Ben Turner gets a block in.50:25
Assist on the goal came from Colin Kazim-Richards.50:25 Goal scored
Goal! - Joshua King - Blackburn 1 - 1 Cardiff Joshua King fires in a goal from inside the box low into the middle of the goal. Blackburn 1-1 Cardiff.49:43
Effort on goal by Joshua King from just inside the area clears the bar.49:26
The ball is crossed by Mauro Formica, save by David Marshall.49:04
Martin Olsson takes a short corner.47:33
Heidar Helguson fouled by Grant Hanley, the ref awards a free kick. Peter Whittingham has a direct shot on goal from the free kick.45:53
The ball is crossed by Craig Conway, save by Paul Robinson.45:01
The game restarts for the second half.45:01 Substitution
Substitution Colin Kazim-Richards replaces Markus Olsson.45:00 +2:06 Half time
Half Time The referee blows for half time.45:00 +1:10
Centre by Joshua King, Matthew Connolly manages to make a clearance.45:00 +0:37
Free kick awarded for an unfair challenge on Joshua King by Ben Turner. The free kick is delivered right-footed by Jason Lowe from right wing.44:33
Peter Whittingham has a volleyed shot. Scott Dann gets a block in. Shot from outside the area by Craig Noone misses to the left of the goal.44:01
Short corner taken by Craig Bellamy from the left by-line.43:09
Craig Bellamy takes a shot.42:00
Heidar Helguson fouled by Jason Lowe, the ref awards a free kick. David Marshall takes the free kick.41:24
The assistant referee signals for offside against Craig Noone. Indirect free kick taken by Paul Robinson.40:08
Foul by Joshua King on Don Cowie, free kick awarded. Peter Whittingham takes the direct free kick.39:06
Unfair challenge on Mauro Formica by Craig Conway results in a free kick. Jason Lowe takes the free kick.36:09
Corner from left by-line taken by Martin Olsson.35:41
Corner taken left-footed by Martin Olsson from the left by-line, Matthew Connolly manages to make a clearance.35:18
Effort from deep inside the area by Jordan Rhodes misses to the left of the target.34:58
Adam Henley sends in a cross, Ben Turner makes a clearance.33:09
The ball is crossed by Craig Conway.31:02
Foul by Grant Hanley on Heidar Helguson, free kick awarded. The free kick is swung in right-footed by Craig Bellamy.29:54
Craig Noone provided the assist for the goal.29:54 Goal scored
Goal! - Mark Hudson - Blackburn 0 - 1 Cardiff Mark Hudson finds the back of the net with a headed goal from close in. Blackburn 0-1 Cardiff.28:34
Peter Whittingham restarts play with the free kick.28:34 Booking
Booking The referee cautions Jason Lowe for unsporting behaviour.28:23
Free kick awarded for a foul by Jason Lowe on Craig Bellamy.27:26
Heidar Helguson fouled by Martin Olsson, the ref awards a free kick. Peter Whittingham restarts play with the free kick.23:53
Free kick awarded for a foul by Joshua King on Ben Turner. Peter Whittingham takes the free kick.22:23
Craig Noone produces a cross.21:43
The ball is swung over by Craig Noone, clearance made by Grant Hanley.19:53
Free kick awarded for a foul by Joshua King on Mark Hudson. Mark Hudson restarts play with the free kick.19:09
The referee blows for offside. Indirect free kick taken by Paul Robinson.18:32
Andrew Taylor delivers the ball, Martin Olsson manages to make a clearance.18:12
Martin Olsson sends in a cross, Ben Turner makes a clearance.17:36
Jordan Rhodes takes a shot. Andrew Taylor gets a block in.16:31
Strike comes in from Martin Olsson from the free kick.16:31 Booking
Booking Mark Hudson is cautioned.16:24
Foul by Mark Hudson on Mauro Formica, free kick awarded.15:12
Free kick awarded for a foul by Joshua King on Peter Whittingham. Mark Hudson takes the direct free kick.12:46
Free kick awarded for a foul by Mauro Formica on Craig Conway. Craig Bellamy crosses the ball in from the free kick.11:59
A cross is delivered by Craig Conway, Grant Hanley manages to make a clearance.6:19
Free kick awarded for a foul by Craig Noone on Dickson Etuhu. Direct free kick taken by Paul Robinson.5:27
Joshua King takes a shot. Blocked by Ben Turner.1:24
Free kick awarded for a foul by Dickson Etuhu on Heidar Helguson. Free kick crossed by Peter Whittingham, clearance by Scott Dann.1:02
Joshua King challenges Mark Hudson unfairly and gives away a free kick. David Marshall takes the direct free kick.0:19
Craig Noone challenges Martin Olsson unfairly and gives away a free kick. Paul Robinson takes the direct free kick.0:00
The referee gets the match started.
Live data and text provided by our data suppliers