Coca-Cola Championship leaders Birmingham saw their six-game unbeaten run come to a screeching halt as Gavin Williams' last-minute goal gave Ipswich a deserved victory.
It looked like Steve Bruce's side would survive a relentless Ipswich onslaught to earn a point but Williams popped up to stroke home Gary Roberts' cross from inside the six-yard box.
On few occasions this season will Birmingham have had their promotion credentials tested as sternly as they were at Portman Road.
Ipswich belayed their lowly league position to dominate proceedings for long periods and will feel they created enough openings to win the game.
Birmingham were indebted to Mathew Sadler for keeping the scoreline respectable - the defender clearing from under his own crossbar three times.
But despite all Ipswich's dominance, Bruce's side still looked dangerous when they threatened and could quite easily have stolen all three points themselves when Nicklas Bendtner broke the offside trap and went clean through on goal in the second half.
However, the on-loan Arsenal youngster was unable to add to his 10 goals this term and struck his shot straight at Lewis Price's legs.
Ipswich laid siege to the visitors' goal in the first half and began brightly. Sylvain Legwinski set the tone with a fiercely struck shot from 20 yards that warmed Maik Taylor's palms after three minutes.
Soon after Roberts linked up well with Billy Clarke before the latter forced Taylor into a parrying save with a curling effort from the edge of the area.
Roberts then flashed an angled shot across the face of goal before he continued to torment Birmingham down the wing.
The midfielder almost broke the deadlock in the 10th minute when he cut infield and crashed a swerving shot against the crossbar from the right hand side of the box.
Ipswich came close again following a Roberts corner when Sadler cleared Richard Naylor's header from under his own crossbar midway through the half.
It took the visitors half an hour to get a foothold in the game but once they did they came as close as Ipswich to opening the scoring.
A pin-point cross from Stephen Kelly found Bendtner arriving in the area and the on-loan Arsenal starlet hit the crossbar with his header.
Teams:
Ipswich Price, Bruce, De Vos, Naylor, Harding, Roberts,Garvan (Walton 83), Legwinski, Richards (Haynes 78), Lee,Clarke (Williams 69).
Subs Not Used: Supple, Macken.
Booked: Clarke.
Goals: Williams 90.
Birmingham Maik Taylor, Kelly, Martin Taylor, Upson, Sadler,Johnson, Clemence, Muamba (Larsson 61), McSheffrey,Campbell (Danns 70), Bendtner.
Subs Not Used: Doyle, Jerome, Kilkenny.
Booked: Sadler.
Att: 22,436
Ref: A D'Urso (Essex).