Jordan Rhodes scored a second-half equaliser for Blackburn to deny his old boss Lee Clark a season-ending victory for Birmingham City.
Ravel Morrison's first-half 20-yard left-foot strike looked to have put the Blues on their way to victory.
But Rhodes, so prolific in his days at Huddersfield under Clark, levelled with a close-range header on 66 minutes.
That was his 29th Championship strike of the season - the second best tally in the division.
- For a match of almost no importance and little interest outside either Birmingham or Blackburn, St Andrew's attracted a gate of 18,979 - Blues' second highest home crowd of the campaign, beaten only by the local derby with Wolves on Easter Monday.
A point for the Blues was enough to earn them a top-half finish in 12th, seven points shy of the play-offs and five places (but only three points) higher than Rovers, who escaped the drop zone by just four points.
Blues were the dominant side for the opening half hour, although it took a one-hand save by home keeper Jack Butland to deny Rhodes.
That then triggered a succession of long-range attempts from the home side.
Nathan Redmond had a 25-yard shot tipped round the post before Chris Burke fired just wide after being set up by the overlapping Paul Caddis, but the breakthrough finally came just three minutes before the break.
Morrison tried his luck with his left foot and this one fizzed low into the keeper's left corner.
But Rovers were level midway through the second half from David Goodwillie's free-kick, David Jones's header being parried by Butland, only for Rhodes to nod in the rebound.
His 29-goal league tally (including two for Huddersfield in August) leaves him just one shy of Crystal Palace striker Glenn Murray.
Birmingham manager Lee Clark:
"The way we have finished has been encouraging. I am looking forward to the summer. It is going to be busy and I am looking forward to building a young vibrant squad.
"No transfer fees will be paid. The budget will not be anywhere near where it was so players coming in will not be getting the same salaries as they have in the past."
Blackburn caretaker manager Gary Bowyer:
"I thought it was very much an end of season game but in the second half we deserved a goal and we might have nicked the game."
- 01 Butland
- 06 Davies
- 28 Caddis
- 30 Robinson
- 32 Ferguson
- 07 Burke
- 12 Morrison
- 14 Gomis (Reilly - 73' )
- 15 Elliott
- 22 Redmond
- 19 Zigic
- 13 Doyle
- 04 Caldwell
- 08 Mullins
- 16 Arthur
- 26 Lee
- 33 Reilly
- 21 Asante
- 29 Sandomierski
- 16 Dann
- 19 Kane
- 31 G Hanley
- 12 Pedersen
- 17 Williamson (Stewart - 46' )
- 24 Morris
- 36 Jones
- 11 Rhodes
- 15 King
- 25 Goodwillie (O'Sullivan - 76' )
- 45 Urwin
- 05 Givet
- 23 Rekik
- 32 Stewart
- 35 Bentley
- 44 O'Sullivan
- 21 Nuno Gomes
Live Text Commentary
Full Time The referee signals the end of the game.90:00 +2:31
Jordan Rhodes is ruled offside. Free kick taken by Paul Caddis.89:43
David Jones is flagged offside by the assistant referee. Indirect free kick taken by Jack Butland.89:20
Corner taken left-footed by David Jones, clearance made by Curtis Davies.89:01
Inswinging corner taken by David Jones from the right by-line played to the near post, Nikola Zigic makes a clearance.88:25
Corner from left by-line taken by Morten Gamst Pedersen.87:55
John O'Sullivan takes a shot. Blocked by Ravel Morrison.84:46
Free kick awarded for a foul by Scott Dann on Nikola Zigic. Free kick taken by Callum Reilly.84:06
Nathan Redmond produces a right-footed shot from just outside the box that goes wide right of the target.82:55
Callum Reilly takes a shot. Save made by Grzegorz Sandomierski.82:28
Nikola Zigic fouled by Morten Gamst Pedersen, the ref awards a free kick. Wade Elliott restarts play with the free kick.81:20
Free kick awarded for a foul by Josh Morris on Christopher Burke. Free kick taken by Christopher Burke.78:56
Handball decision goes against Shane Ferguson. Shot comes in from Jordan Rhodes from the free kick, blocked by Ravel Morrison.78:08
Christopher Burke fouled by John O'Sullivan, the ref awards a free kick. Jack Butland takes the direct free kick.77:05
Unfair challenge on Scott Dann by Wade Elliott results in a free kick. Direct free kick taken by Scott Dann.75:19
Morten Gamst Pedersen takes the direct free kick.75:19 Substitution
Substitution John O'Sullivan is brought on as a substitute for David Goodwillie.75:19
Unfair challenge on David Jones by Callum Reilly results in a free kick.72:43 Substitution
Substitution Callum Reilly on for Morgaro Gomis.70:30
The assistant referee flags for offside against Nikola Zigic. Indirect free kick taken by Grant Hanley.
The ball is swung over by Cameron Stewart.69:36
The ball is delivered by Morgaro Gomis, David Jones manages to make a clearance.67:43
Morgaro Gomis challenges Morten Gamst Pedersen unfairly and gives away a free kick. Morten Gamst Pedersen takes the direct free kick.65:30
Assist by David Goodwillie.65:30 Goal scored
Goal! - Jordan Rhodes - Birmingham 1 - 1 Blackburn Jordan Rhodes scores a headed goal from inside the six-yard box. Birmingham 1-1 Blackburn.63:30
Foul by Shane Ferguson on Cameron Stewart, free kick awarded. Direct effort from the free kick comes in from David Jones.62:21
The referee blows for offside against Nathan Redmond. Indirect free kick taken by Scott Dann.61:45
Unfair challenge on Nathan Redmond by Todd Kane results in a free kick. Free kick taken by Shane Ferguson.60:09
Corner taken left-footed by Morten Gamst Pedersen, Headed effort on goal by Scott Dann from inside the penalty box misses to the right of the target.58:41
Todd Kane gives away a free kick for an unfair challenge on Morgaro Gomis. Free kick taken by Shane Ferguson.58:08
Cameron Stewart takes a shot. Save by Jack Butland.56:56
Jordan Rhodes is flagged offside by the assistant referee. Curtis Davies takes the free kick.56:05
Corner taken right-footed by Christopher Burke, clearance by Morten Gamst Pedersen.55:24
Christopher Burke takes the outswinging corner, clearance made by Morten Gamst Pedersen.54:07
Corner taken left-footed by Shane Ferguson from the left by-line to the near post, save made by Grzegorz Sandomierski.53:05
Shane Ferguson delivers the ball.49:17
Wade Elliott produces a cross.48:57
Shane Ferguson takes a short corner.48:02
Inswinging corner taken by David Jones from the right by-line played to the near post, Wade Elliott makes a clearance.45:01
The second half begins.45:01 Substitution
Substitution Cameron Stewart replaces Lee Williamson.45:00 +2:08 Half time
Half Time The match has reached half-time.44:42
David Goodwillie gives away a free kick for an unfair challenge on Wade Elliott. Wade Elliott takes the free kick.41:15
Assist by Morgaro Gomis.41:15 Goal scored
Goal! - Ravel Morrison - Birmingham 1 - 0 Blackburn A goal is scored by Ravel Morrison from inside the penalty area to the bottom right corner of the goal. Birmingham 1-0 Blackburn.39:54
Christopher Burke takes a shot. Comfortable save by Grzegorz Sandomierski.36:43
Jordan Rhodes takes a shot. Save by Jack Butland.35:53
A cross is delivered by Morten Gamst Pedersen, save by Jack Butland.34:51
David Goodwillie has an effort at goal from outside the penalty box missing to the wide right of the goal.33:48
David Goodwillie fouled by Wade Elliott, the ref awards a free kick. David Goodwillie restarts play with the free kick.33:27
Christopher Burke has an effort at goal from outside the penalty box missing to the wide right of the target.33:11
The referee blows for offside against Jordan Rhodes. Paul Robinson restarts play with the free kick.32:34
Foul by Nikola Zigic on Lee Williamson, free kick awarded. Lee Williamson takes the free kick.32:03
Lee Williamson challenges Paul Robinson unfairly and gives away a free kick. Free kick taken by Christopher Burke.31:22
Nathan Redmond takes a shot. Save by Grzegorz Sandomierski. Inswinging corner taken by Wade Elliott from the left by-line.29:23
Morgaro Gomis takes a shot. Scott Dann gets a block in.28:07
The ball is swung over by Paul Caddis, clearance made by Jordan Rhodes.27:43
Free kick awarded for a foul by Joshua King on Christopher Burke. Direct free kick taken by Paul Caddis.27:00
Christopher Burke produces a cross, clearance made by Grant Hanley.26:32
Morten Gamst Pedersen handles the ball and concedes a free kick. Curtis Davies restarts play with the free kick.25:12
Centre by Christopher Burke, Nikola Zigic has an effort at goal from close range which goes wide left of the goal.24:36
Joshua King sends in a cross, clearance by Curtis Davies.23:39
Morten Gamst Pedersen is flagged offside by the assistant referee. Indirect free kick taken by Jack Butland.19:58
The ball is sent over by Christopher Burke, clearance by Morten Gamst Pedersen.18:12
Shot from long distance by Morten Gamst Pedersen misses to the right of the goal.16:59
Paul Caddis takes a shot. Grzegorz Sandomierski makes a comfortable save.15:57
Free kick awarded for a foul by David Jones on Shane Ferguson. Free kick taken by Shane Ferguson.15:18
The official flags Jordan Rhodes offside. Indirect free kick taken by Jack Butland.14:12
Corner taken by David Jones played to the near post, clearance by Wade Elliott.7:04
Corner taken by David Jones from the left by-line.6:48
The ball is crossed by Shane Ferguson, clearance by Grant Hanley.3:46
Unfair challenge on Curtis Davies by Grant Hanley results in a free kick. Jack Butland takes the direct free kick.2:25
Nathan Redmond has a shot on goal from outside the area which misses left.0:48
Morgaro Gomis has an effort at goal and missed to the right of the goal.0:20
The ball is delivered by Paul Caddis, clearance made by Scott Dann.0:00
The game begins.
Live data and text provided by our data suppliers