Two goals in three second-half minutes made sure of the win for Northampton.
Chris Doig's third goal of the season gave Northampton a 17th-minute lead, putting the visitors in charge.
Jason Lee's glancing header nearly doubled the lead before Martin Smith's angled drive and Josh Low's header put them 3-0 up.
Defender Chris Willmott's header pulled one back for Oxford but Northampton's sixth win in seven game keeps their promotion bid on track.
Oxford Utd: Turley, Robinson, Willmott, Roget, Dempster, Burgess, Hargreaves, Quinn, Mansell, Sabin (Basham 55), N'Toya (Odubade 82).
Subs Not Used: Guatelli, Brooks, Winters.
Goals: Willmott 75.
Northampton: Harper, Doig, Chambers, Dyche, Johnson, Low (Bojic 85), Hunt, Rowson, Smith (Hand 73), McGleish (Kirk 85), Lee.
Subs Not Used: Dunn, Jess.
Goals: Doig 16, Smith 69, Low 71.
Att: 8,264
Ref: K Friend (Leicestershire).