Bath scored five first-half tries to thrash London Irish and overtake them in the Premiership table.
They crossed twice inside nine minutes, Beno Obano pushing over before England wing Anthony Watson hacked on an overthrown Irish line-out and slid in.
Stephen Myler's penalty cut the deficit but Semesa Rokoduguni and Will Chudley touched down either side of a penalty try to end any hope of a fightback.
Tom Homer scored the try of the match before Adam Coleman's consolation.
In a low-key second half, Homer intercepted Myler's cross-field kick and ran 70 metres to score for Bath.
Second-row Coleman then crashed over for his first Exiles try.
Victory at Madejski Stadium means Stuart Hooper's team will spend Christmas Day in seventh, three points off a play-off spot. Irish are now two places below them.
Declan Kidney's side, perhaps disrupted by the late withdrawal of Ruan Botha and an early injury to Paddy Jackson, never really got going, in stark contrast to the visitors' ferocious start.
But even accounting for the home side's injury issues, they were blown away by a far better team.
After Obano and Watson went over early, Rokoduguni scored in the corner and Albert Tuisue was penalised for catching the ball in an offside position, which led to the award of a penalty try and a yellow card for the Exiles flanker - with the former clinching Bath a bonus point.
While Tuisue was in the sin bin, Rokoduguni and Jonathan Joseph combined to send Chudley in under the posts, leaving Rhys Priestland to easily make the second of his three successful conversion attempts.
The enormous half-time disparity meant the second period was a non-event, though it was lit up by Homer's length-of-the-field effort.
Bath director of rugby Stuart Hooper told BBC Radio Bristol:
"Most of it clicked today. There are obviously bits we'll look at and work on, but it's much nicer to do that with a smile on our faces after some decent tries.
"We stuck to our gameplan. The boys worked hard in the week on where we could exploit London Irish and when they stuck to that we got our reward and fed off it.
"This was big for us today and I'm really proud of the lads, not just for today but for the work they put in in the week leading up as well."
London Irish: Jackson; Rona, Stephenson, Hepetema, Hassell-Collins; Myler, Meehan; Hobbs-Awoyemi, Fainga'a, Hoskins, Botha, Coleman, Mafi, Cowan (capt), Tuisue.
Replacements: Matu'u, Dell, Chawatama, Van der Merwe, Rogerson, Phipps, Fowlie, Stokes.
Bath: Homer; Rokoduguni, Joseph, Roberts, Watson; Priestland (capt), Chudley; Obano, Dunn, Stuart, McNally, Stooke, Ellis, Underhill, Bayliss
Replacements: Walker, Boyce, Judge, Garvey, Davies, Cook, Burns, Brew.
Referee: Karl Dickson