The game belied the top v bottom billing that the table shows and for much of the game Orient remained in the encounter, but the league leaders proved too much in the end.
Tommy Rowe put the visitors in front in the first half, before Tom Parkes netted his first goal for the O’s to see things level at the break.
However, Marquis put Darren Ferguson’s side back in front 10 minutes into the second half, before late goals from Marquis and another former O – Mathieu Baudry – sealed the win for the South Yorkshire side.
The O’s made five changes from the side which lost 5-0 to Accrington Stanley in midweek with goalkeeper Alex Cisak returning alongside Liam Kelly, fresh from a six-game suspension.
Aron Pollock and Michael Clark were also named in the starting XI after injury forced Nicky Hunt and Callum Kennedy to miss out, while Nigel Atangana was also drafted in in place of Freddy Moncur.
After a quiet opening, the O’s created the first real opportunity when a neat throughball from Nigel Atangana found Josh Koroma pacing forward down the right.
The winger was able to work his way into the box before Craig Alcock got in a tackle to divert the ball behind for a corner. From the corner Clark’s header was over the bar.
Chances were at a premium for both sides but Cisak was forced into his first save of the afternoon with 21 minutes on the clock when he palmed former Orient loanee John Marquis’ header away from the goal.
A quickly-taken Collins free-kick saw the next opportunity fall the way of the hosts as he sprayed it out to the left to find Semedo. The Portuguese winger took a couple of touches before delivering a dangerous cross which Ian Lawlor was just able to gather in the Rovers goal, before Matty Blair’s header up the other end was straight at Cisak who made a regulation save.
But he was picking the ball up out the back of his net with 36 minutes on the clock when the ball fell kindly to Tommy Rowe who drilled it low past Cisak after there had been a great last-ditch tackle from Parkes in the build-up on Marquis.
Conor Grant then saw a shot deflected wide off of Myles Judd as the visitors looked to build swiftly on the opener.
One thing you will say about this Danny Webb Orient side is that they have heart and character and a minute before the break they were level.
Parkes brought the ball out from the back and found Massey. The O’s defender carried on his run and when Massey returned the pass he was there to slot into the corner of the net past an onrushing Lawlor.
That was how it remained at the break and Doncaster replaced keeper Lawlor with Marko Marosi coming on in his place.
Doncaster created the early chances in the second period and only a late deflection off of Myles Judd denied John Marquis putting the visitors back in front.
But the striker did just that on 55 minutes as he pounced on a loose ball and slotted past Cisak off the post.
Orient remained undeterred by Rovers going in front for a second time, and tried to push on in search of a leveller, but couldn’t force Marosi into too many saves as the game wore on.
May missed an absolute sitter to extend the visitors advantage after the ball fell kindly to the striker in the box, but he somehow fired it wide when it looked easier to score.
They had an even better opportunity when catching the O’s on the break. Substitute Andy Williams was unmarked in the box and the ball found its way to him via James Coppinger but the striker amazingly fired over with the goal gaping.
Williams saw another effort held by Cisak before the O’s lost possession and McSheffrey blasted over as the visitors spurned another chance.
They were not to waste the next though and effectively sealed the win with eight minutes remaining when McSheffrey played the ball across to Marquis and the striker netted his second of the game.
Three soon became four though and it was another former O who netted. The ex-Orient captain Mathieu Baudry volleyed home from a corner, and in a touch of class the Frenchman didn’t celebrate his goal.
That proved to be it though as the O’s slipped to another defeat ahead of next weekend’s trip to Crawley Town.
LEYTON ORIENT: Cisak, Pollock, Clark, Parkes, Judd, Kelly, Koroma (Dalby 77), Collins, Atangana (Alzate 87), Semedo, Massey.
SUBSTITUTES: Sargeant, Mezague, Liburd, Moncur, Happe.
BOOKED: Massey (67)
GOALS: Parkes (44)
DONCASTER ROVERS: Lawlor (Marosi HT), Butler, Baudry, Alcock, Grant, Rowe, Blair, Grant, May (Williams 71), Coppinger (McSheffrey 77), Marquis.
SUBSTITUTES: Lund, Middleton, Mandeville, Evina.
BOOKED: Mason (67)
GOALS: Rowe (36), Marquis (55, 82), Baudry (86).
REFEREE: Christopher Sarginson
ATTENDANCE: 4,791 (816 Doncaster Rovers fans)