Three goals in nine second-half minutes saw Oxford extend 10-man Morecambe’s winless run to six League 2 games.
Lee Molyneux’s spectacular lob had seen The Shrimps all square in an eventful first half after Kemar Roofe opened the scoring early on.
But after Shaun Miller’s straight red card for a late challenge on 69 minutes things unravelled for the hosts.
John Lundstram, Danny Hylton and Jordan Bowery were all on target as promotion-chasing Oxford ran riot at the Globe Arena.
Tom Barkhuizen did score a late consolation but it mattered not with The Shrimps now having picked up just one point from the last 18 available.
Michael Appleton’s side got their noses in front after just nine minutes as The Shrimps conceded another soft goal.
Luke Conlan missed a header allowing Alex MacDonald to square for Roofe to score his 19th of the season from close range.
Things nearly got far worse for the hosts as their fragile defence was exposed in the next couple of minutes with Liam Sercombe shooting narrowly wide and Roofe seeing a tame shot saved by Barry Roche.
Jake Wright was the next to go close for the hosts, seeing a firm header from a Roofe corner held by Roche.
It was all one-way traffic before Molyneux’s moment of magic on 23 minutes. Picking the ball up 25 yards from goal the midfielder sent a lob over giant Oxford ‘keeper Benji Buchel and in.
Joy turned to devastation for the former Accrington man as he was then immediately substituted, due an injury, with Paul Mullin coming on.
The goal settled Morecambe but Oxford were a constant threat, Roofe sending a near post header narrowly over at the end of another flowing move.
The Shrimps had the first sight of goal after the interval, Alan Goodall driving forward before seeing a low shot held by Liechtenstein international Buchel.
Chances were few and far between though in a half built more on endeavour as both sides lacked a penetrating final ball.
Morecambe had arguably had the better of the half but were dealt a major blow on 69 minutes as Miller saw red.
The Shrimps’ top goalscorer raced for a loose ball but was second to it, going in late on Joe Skarz with Peter Bankes having no hesitation in pulling out the red card.
Oxford wasted no time in going in front with Lundstram giving them the lead for a second time two minutes later.
Callum O’Dowda’s corner broke to Wright with the captain taking time to feed the former Blackpool man who fired home unchallenged from 12 yards.
The game was up for the Shrimps shortly after from another O’Dowda corner. Roche did well to save Johnny Mullins’ initial effort but Hylton was on hand to bundle the ball home from close range.
Morecambe’s misery was compounded further 10 minutes from time as Bowery exchanged passes with Sercombe before beating Roche one-on-one for Oxford’s fourth.
The Shrimps did have sights of goal late on but Mullin’s free-kick was just about helped over the bar by Buchel who then saved Ellison’s near post effort.
It was Oxford who looked the more likely to enhance their goal difference, Roche saving well from Lundstram and Bowery before Morecambe got an unlikely consolation.
Ryan Edwards nodded down Mullin’s corner with Barkhuizen converting from close range.
Morecambe: Roche, Beeley (capt), Parrish, Dugdale, Conlan (Edwards 41), Fleming, Goodall, Barkhuizen, Molyneux (Mullin 24), Ellison, Miller. Subs not used: O’Hara, Kenyon, Bondswell, Bailey, Doyle.
Booked: Ellison, Edwards. Sent off: Miller
Oxford: Buchel, Kenny, Mullins, Wright (capt), Skarz, MacDonald (Ismail 69), Sercombe, Lundstram, Maguire (O’Dowda 64), Hylton, Roofe (Bowery 55). Subs not used: Slocombe, Ruffels, Dunkley, Evans.
Booked: Mullins, MacDonald, Kenny
Referee: Peter Bankes
Attendance: 1,749 (536 away)