The towering Serbian striker was dropped by Lee Clark from City's matchday squad for last weekend's defeat to Watford following some lacklustre training sessions, returning to contention for Tuesday's goalless draw against Sheffield Wednesday.
And Zigic made his presence felt at London Road as he poked home his seventh goal of the season in the 34th minute after Bobby Olejnik could only parry Chris Burke's shot.
But Blues owed much to England goalkeeper Jack Butland after he had earlier produced a super double save to deny Tommy Rowe and Lee Tomlin.
Callum Reilly struck the crossbar shortly after Zigic's goal but Burke got a crucial second 10 minutes from time when his strike was deflected over Olejnik, clinching a first win in four games to end resurgent Posh's four-match unbeaten run.
Just six points and six places separated the two sides at the start of the day but Birmingham have now risen to 15th, seven points clear of danger, while Peterborough have sunk back to the foot of the table.
The visitors, having been on the back foot, enjoyed a spell of pressure midway through the half although Posh keeper Olejnik remained untested, but for a routine low stop to keep out Peter Lovenkrands.
But that all changed in the 34th minute as Birmingham broke the deadlock.
Burke cut inside off the right and unleashed a shot which Olejnik could only parry and Zigic was there to prod home.
Reilly almost made 2-0 soon after but his 25-yard strike rebounded off the crossbar, before Lovenkrands saw his poked effort fly narrowly the wrong side of a post as Blues went on to dominate proceedings.
Peterborough started the second half brightly and saw two penalty appeals waved away, either side of a poor header from Lovenkrands at the other end.
Burke found the side-netting for Birmingham but that was a precursor to his 80th-minute strike from 20 yards, which took a huge deflection to beat Olejnik.
The visitors wasted further chances to strengthen their lead but, nevertheless, still sealed a first-ever league double over Peterborough.