Both sides continued to press forwards, and the second goal came in the 37th minute - again in Birmingham's favour. Marc Joseph headed out to the edge of the box and Muzzy Izzett hit a low shot first time which Duke could only get a hand to as it went in.
Jason Price shot over at the other end, before Robbie Savage hit the woodwork with a 20-yard free kick before the break.
Moments after half time the Blues got another goal. Julian Gray's shot took a deflection and hit both posts before trickling in beyond the lunge of Damien Delaney.
Peter Taylor made some more changes and this almost paid dividends, but Stuart Elliott's header was cleared off the line by Martin Taylor.
City finally did get a consolation though in the 76th minute to narrow the scoreline to 4-1. Stuart Green slotted past Nico Vaesen with a right-footed shot to bring some cheer to the 8,417 KC Stadium crowd.
Gray almost restored Birmingham's four goal lead but flashed a shot wide, while Ryan France headed against the bar from Elliott's chip as it stayed 4-1.
City line-up (4-4-2): Duke; Hinds, Joseph (Wiseman 75), Delaney, Lewis; Price (France 59), Ashbee, Keane (Green 59), Barmby (Elliott 45); Walters (Wilbraham 45), Facey (Allsopp 59).
Un-used subs: Myhill, Dawson, Fry.