Ipswich secured their Championship status with a comfortable win over Birmingham.
Captain Carlos Edwards opened the scoring with a brilliant 25-yard shot before centre-back Luke Chambers headed in a second with 20 minutes remaining.
Frank Nouble had two goals disallowed for offside for Town before Daryl Murphy wrapped up victory for the home side with a low strike.
No Blues for McCarthy
- Mick McCarthy made a winning start as Ipswich manager, when the Tractor Boys notched a 1-0 triumph at St Andrew's in November
Chris Burke scored a consolation when he converted Shane Ferguson's cross.
Victory completes a remarkable transformation in fortunes for the Tractor Boys, who were bottom of the league with seven points from 13 games before Mick McCarthy took over.
They started this match at Portman Roadbrilliantly. Jack Butland was forced into a tipping Murphy's header over the bar but the England keeper could do little to keep out Edwards's fierce opener.
It was soon 2-0 when Aaron Cresswell delivered a great free-kick from the left which found the head of Chambers, who nodded in from close range.
Nouble was then twice denied by the assistants' flag before Town finally grabbed a third when Murphy swivelled and fired in from the edge of the box.
With a few seconds of normal time remaining, Birmingham substitute Burke tucked home full-back Ferguson's cross but it it was scant consolation for 10th-placed Blues.
Ipswich manager Mick McCarthy:
"I'm not really happy that we went round applauding our crowd because we'd stayed up, having been scrapping to avoid relegation.
"I'd prefer to go round thinking we're in the play-offs. I didn't enjoy that.
"But it was a lap of appreciation from us to them, for their support."
Birmingham manager Lee Clark:
"In English football it's all about playing with a high tempo, purpose and intensity.
"We were too flat to start with and that first-half performance is not what we're about.
"I'm three stone overweight and even I could have gone out and played at that tempo."
Live Text Commentary
Full Time The referee brings the game to a close.90:00 +2:13
Ravel Morrison takes a shot. Save made by Scott Loach.90:00 +2:13 Booking
Booking Lee Martin receives a caution.90:00 +1:20
Lee Martin concedes a free kick for a foul on Ravel Morrison. Direct free kick taken by Shane Ferguson.89:10
Shane Ferguson provided the assist for the goal.89:10 Goal scored
Goal! - Christopher Burke - Ipswich 3 - 1 Birmingham Christopher Burke finds the back of the net with a goal from inside the six-yard box to the bottom right corner of the goal. Ipswich 3-1 Birmingham.89:02
The ball is crossed by Shane Ferguson,86:10
Effort from inside the area by Jay Emmanuel-Thomas misses to the right of the target.84:56
Foul by Lee Martin on Morgaro Gomis, free kick awarded. Ravel Morrison takes the indirect free kick.84:32
Nathan Redmond has an effort at goal. Scott Loach makes a save.84:04
The ball is swung over by Mitch Hancox, Luke Chambers makes a clearance.81:39 Substitution
Substitution Lee Martin joins the action as a substitute, replacing Jay Tabb.81:39 Substitution
Substitution Michael Chopra comes on in place of Frank Nouble.81:39 Substitution
Substitution Jay Emmanuel-Thomas joins the action as a substitute, replacing Daryl Murphy.80:31
Christopher Burke delivers the ball, comfortable save by Scott Loach.79:57
The ball is sent over by Carlos Edwards.77:50
Nathan Redmond takes a shot. Save by Scott Loach.77:20
The offside flag is raised against Carlos Edwards. Free kick taken by Paul Robinson.75:36
The ball is delivered by Shane Ferguson, Headed effort from inside the area by Nikola Zigic misses to the left of the goal.75:36 Booking
Booking Tommy Smith receives a caution.
Unfair challenge on Morgaro Gomis by Tommy Smith results in a free kick.74:33
The referee blows for offside. Jack Butland takes the indirect free kick.73:39
Nathan Redmond has a drilled shot. Save by Scott Loach.71:33
The ball is swung over by Carlos Edwards, save made by Jack Butland.71:10
Short corner worked by Carlos Edwards.70:23
Aaron Cresswell fouled by Paul Caddis, the ref awards a free kick. Direct free kick taken by Aaron Cresswell.69:01
The ball is crossed by Shane Ferguson, Nathan Redmond takes the chance to get an effort at goal. Blocked by Luke Chambers.68:07
The offside flag is raised against Frank Nouble. Curtis Davies restarts play with the free kick.66:32
Morgaro Gomis fouled by Guirane N'Daw, the ref awards a free kick. Free kick taken by Paul Robinson.65:46
Aaron Cresswell produces a cross.65:00
Free kick awarded for a foul by Luke Hyam on Ravel Morrison. Paul Robinson takes the indirect free kick.64:13
Daryl Murphy sends in a cross.62:38
The ball is delivered by Shane Ferguson, Elliott Hewitt gets a block in.60:47
Free kick awarded for an unfair challenge on Daryl Murphy by Paul Robinson. Aaron Cresswell restarts play with the free kick.58:51
Luke Chambers restarts play with the free kick.58:51 Substitution
Substitution (Birmingham) makes a substitution, with Christopher Burke coming on for Wade Elliott.58:51 Substitution
Substitution Morgaro Gomis is brought on as a substitute for Hayden Mullins.58:51
Free kick awarded for a foul by Ravel Morrison on Guirane N'Daw.58:07
Effort from the edge of the penalty area by Ravel Morrison goes wide of the left-hand post.56:41
Assist by Frank Nouble.56:41 Goal scored
Goal! - Daryl Murphy - Ipswich 3 - 0 Birmingham Daryl Murphy fires in a goal from just inside the penalty area to the bottom left corner of the goal. Ipswich 3-0 Birmingham.56:24
Frank Nouble takes a shot.54:10
Daryl Murphy is ruled offside. Paul Robinson takes the indirect free kick.52:37
Inswinging corner taken by Shane Ferguson, clearance by Daryl Murphy.51:04
The referee blows for offside against Nikola Zigic. Scott Loach takes the free kick.50:07
Carlos Edwards delivers the ball, Shot on goal by Guirane N'Daw from just inside the area goes over the target.49:19
The assistant referee flags for offside against Shane Ferguson. Free kick taken by Scott Loach.47:53
Effort from deep inside the area by Hayden Mullins clears the bar.47:11
Wade Elliott produces a cross, Shot from deep inside the area by Ravel Morrison goes over the bar.46:04
Jay Tabb gives away a free kick for an unfair challenge on Nikola Zigic. Paul Caddis takes the indirect free kick.45:01
The referee blows his whistle to start the second half.45:00 +1:17 Half time
Half Time The players leave the pitch at half time.44:20
Frank Nouble is caught offside. Indirect free kick taken by Jack Butland.41:29
The ball is delivered by Aaron Cresswell, Frank Nouble takes a shot. Comfortable save by Jack Butland.41:07
Elliott Hewitt crosses the ball, Paul Caddis makes a clearance.40:24
Wade Elliott gives away a free kick for an unfair challenge on Carlos Edwards. Indirect free kick taken by Scott Loach.39:52
Ravel Morrison fouled by Tommy Smith, the ref awards a free kick. Shane Ferguson restarts play with the free kick.39:09
Frank Nouble produces a left-footed shot from outside the penalty box and misses left.37:23
Free kick awarded for a foul by Daryl Murphy on Wade Elliott. Paul Robinson takes the free kick.36:28
A cross is delivered by Elliott Hewitt, Nikola Zigic manages to make a clearance. Aaron Cresswell takes a shot.35:48
Free kick awarded for an unfair challenge on Elliott Hewitt by Nikola Zigic. Direct free kick taken by Aaron Cresswell.33:12
Centre by Paul Caddis, clearance made by Tommy Smith.32:05
Luke Hyam fouled by Hayden Mullins, the ref awards a free kick. Luke Hyam takes the free kick.30:30
Guirane N'Daw challenges Wade Elliott unfairly and gives away a free kick. Jack Butland takes the indirect free kick.28:50
Luke Hyam challenges Ravel Morrison unfairly and gives away a free kick. Nathan Redmond has an effort direct from the free kick.24:39
Wade Elliott fouled by Guirane N'Daw, the ref awards a free kick. Ravel Morrison restarts play with the free kick.23:50
Effort on goal by Paul Caddis from 25 yards. Aaron Cresswell gets a block in.21:40
Unfair challenge on Luke Hyam by Nikola Zigic results in a free kick. Free kick taken by Elliott Hewitt.20:58
The offside flag is raised against Nathan Redmond. Scott Loach restarts play with the free kick.20:20
The offside flag is raised against Elliott Hewitt. Indirect free kick taken by Jack Butland.16:50
The assist for the goal came from Aaron Cresswell.16:50 Goal scored
Goal! - Luke Chambers - Ipswich 2 - 0 Birmingham Luke Chambers scores a headed goal from inside the six-yard box. Ipswich 2-0 Birmingham.16:23
Hayden Mullins gives away a free kick for an unfair challenge on Jay Tabb. Aaron Cresswell produces a cross,15:32
The referee blows for offside. Indirect free kick taken by Scott Loach.14:59
The ball is delivered by Luke Hyam, clearance made by Nathan Redmond. Jay Tabb takes a short corner.14:27
Ravel Morrison takes a shot. Luke Chambers gets a block in.13:40
Shot by Luke Hyam from outside the box goes over the net.13:09
Unfair challenge on Carlos Edwards by Wade Elliott results in a free kick. Aaron Cresswell restarts play with the free kick.11:13
Ravel Morrison produces a curled right-footed shot from 25 yards. Tommy Smith gets a block in.10:16
Carlos Edwards crosses the ball.7:53
Nathan Redmond sends in a cross. The referee blows for offside. Indirect free kick taken by Scott Loach.5:20
Assist on the goal came from Luke Hyam.5:20 Goal scored
Goal! - Carlos Edwards - Ipswich 1 - 0 Birmingham Carlos Edwards gets on the score sheet with a goal from outside the area to the top left corner of the goal. Ipswich 1-0 Birmingham.3:37
Aaron Cresswell produces a left-footed effort from long distance that goes harmlessly over the bar.3:30
The ball is sent over by Daryl Murphy, Paul Robinson manages to make a clearance.2:16
Inswinging corner taken by Jay Tabb from the right by-line, Daryl Murphy takes a shot. Save by Jack Butland. Inswinging corner taken by Jay Tabb, clearance made by Nikola Zigic.0:00
The game begins.
Live data and text provided by our data suppliers