Town are in the semi-finals of the Carling Cup for the first time in 10 years thanks to Grant Leadbitter's third penalty of the season.
The Blues midfielder converted from the spot midway through the second-half after Carlos Edwards had been brought down by Graham Dorrans.
Town deserved the place in the last four with Tamas Priskin and Jason Scotland both going close as Blues carved out the better chances throughout.
Roy Keane made five changes to the team that went down at Norwich on Sunday, with Reggie Lambe coming in for his home debut.
Brian Murphy maintained his record of starting in all Blues' Carling Cup ties this season with Troy Brown and Jaime Peters included in a defence that saw 23-year-old Darren O'Dea the oldest.
Blues had the better of the chances in the first-half and could have been ahead as early as the second minute, the impressive Tamas Priskin escaping around the back and his cross cannoned off David Norris and went just wide from six yards out.
Murphy saved well from Marc-Antoine Fortune's effort, before Town had the best opening of the half on the quarter-hour, Norris and Priskin linking up well to set up Jason Scotland but Boaz Myhill kept out his shot from point blank range. Murphy saved again from Fortune, while at the other end Lambe couldn't capitalise with Myhill off his line after more good work by Priskin.
Murphy did well to tip over Dorrans' cross but it was Blues who continued to carry the greater threat, Myhill beating out Leadbitter's shot with Tommy Smith inches away from converting the rebound.
Giles Barnes' shot was blocked by O'Dea, Leadbitter's free-kick failing to test Myhill. Simon Cox fired over before Town had a big penalty claim as Myhill challenged Priskin, referee Mike Jones turning down appeals from all four corners of Portman Road.
Brown picked up the first yellow card of the game just before the break for a foul on Somen Tchoyi.
Edwards replaced Lambe at half-time, the Trinidad international getting in the way of Tchoyi's snap shot in the opening minutes of the second-half.
Cox's shot drifted inches wide in another Albion attack, then Edwards' cross just evaded Priskin at the far post.
Priskin headed over from Andros Townsend's cross on the hour mark, the Tottenham loanee making way for Shane O'Connor soon after.
Blues got the breakthrough on 68 minutes, Edwards went down under the challenge of Dorrans and Leadbitter did the rest from the spot.
Smith headed over from Leadbitter's corner before West Brom made a change, Ishmael Miller on for Fortune.
Myhill cleared from Priskin as Town threatened a second and it would have come if Scotland's shot had not hit Priskin on the line.
Cox had a shot deflected over, Murphy then tipping over Ibanez Pablo's point blank range header, while at the other end Priskin volleyed over from Edwards' cross.
Priskin was booked for dissent, Colin Healy then replacing Scotland for the last few minutes.
Priskin blazed a ball across goal with Leadbitter inches away from a tap in before one final blast of referee Jones' whistle.
Town: Murphy, Peters, Brown, Smith, O'Dea, Townsend (O'Connor 65), Norris, Leadbitter, Lambe (Edwards 46), Scotland (Healy 89), Priskin. Subs not used: Lee-Barrett, Eastman, Civelli, Murray. Booked: Brown, Priskin
West Brom: Myhill, Hurst, Pablo, Meite, Cech, Barnes, Reid, Dorrans, Tchoyi, Fortune (Miller 72), Cox. Subs not used: Carson, Morrison, Thomas, Tamas, Jara, Berahino.