Mick McCarthy’s side replaced Middlesbrough in second place behind leaders Bournemouth thanks to first-half goals from Daryl Murphy and Jay Tabb.
Murphy smashed home his 14th goal of the season from close range on 25 minutes before Tabb headed in his first goal since the opening day of last season on the stroke of half-time.
The win extended Town’s unbeaten run to nine games and ended the unbeaten eight match run of the visitors at the same time to set a Boxing Day cracker for Blues at Brentford.
It also maintained Town’s hold over Boro at Portman Road, the Riverside club having not won on Blues’ soil in 21 years.
Town made one change to the side that drew with Bolton last weekend, Jonathan Parr coming in for the injured Tyrone Mings.
Former Blue, Grant Leadbitter, skippered the visitors and immediately tried to release Adam Reach down the left channel, Tommy Smith in the right place to clear.
Smith was then in the action at the other end, sending a header from a free-kick just wide.
Paul Anderson fired over with a volley from the angle after showing a deft touch to lift the ball over his marker in an even opening to the game.
Jelle Vossen flicked a header wide of Bart Bialkowski’s post from Leadbitter’s cross, then picked up a yellow card for handling Anderson’s free-kick 35 yards out, David McGoldrick sending the follow-up set-piece well over.
It was Bishop who created the opener, the teenage midfielder waited on the ball, then found the run of Tabb inside the box, from the cross Dimitrios Konstantopolous saved with his feet from McGoldrick but Murphy lashed in the rebound from eight yards.
Kenneth Omeruo picked up a yellow for Boro after two fouls in the space of seconds and then had an anxious look at referee James Linington seven minutes before the break when McGoldrick went down under his challenge in the box, the official showing a yellow card to the Town striker instead.
Albert Adomah flashed a header wide from Reach’s cross but right on the stroke of half-time, Bishop sent in another terrific delivery and Tabb rose highest to head into the corner of the net to give Blues a two goal lead at the break.
Boro made a change at the break with Lee Tomlin on for Adomah, Chambers testing Konstantopolous with a header from Anderson’s cross straight after the restart.
The injured Cole Skuse made way for Kevin Bru on 52 minutes, Tabb then clearing the danger as Vossen threatened to reduce the arrears.
Omeruo had a lucky escape when he brought down McGoldrick on the hour. Another yellow would have turned red but referee Linington kept his cards in his
Boro immediately made two changes, Omeruo taken out of the fray with Vossen also replaced, Kike and Milos Veljkovic introduced.
Christophe Berra headed Reach’s 40 yard lob away from goal as Boro searched for a lifeline, Parr’s cross held at the other end by Konstantopolous after McGoldrick and Bishop had linked up down the left.
Town were inches away from making it three on 70 minutes, Murphy’s header hit Leadbitter on the line and Smith hit the post with the follow up from close range.
Bishop made way for Darren Ambrose, Daniel Ayala hooking the ball over the bar from a corner as time began to run out for the visitors.
Anderson fizzed a shot wide, Ambrose doing the same from the edge of the box as Town looked the more likely to add to the scoring.
Ambrose tested Konstantopolous with a long range free-kick as Town finished the game on the attack, deservedly taking the three points.
Town: Bialkowski, Chambers, Smith, Berra, Parr, Skuse (Bru 52), Tabb, Bishop (Ambrose 71), Anderson (Sammon 81), Murphy, McGoldrick. Subs not used: Gerken, Clarke, S.Hunt, Bajner. Booked: McGoldrick.
Boro: Konstantopolous, Nsue, Ayala, Omeruo (Veljkovic 62), Friend, Reach, Leadbitter, Clayton, Adomah (Tomlin 46), Vossen (Kike 62), Bamford. Subs not used: Mejias, Gibson, Whitehead, Wildschut. Booked: Vossen, Omeruo, Friend.
Att: 21, 187