QPR picked up their second defeat in four days following another disappointing display at Millwall.
After a goalless opening 45 minutes at The Den, promotion-chasing Rangers - beaten at Barnsley on Saturday - were seen off by two second-half goals this time around.
Mason Bennett got the ball rolling for the hosts in the 48th minute, before Tyler Burey set the seal on victory in the 64th with a well-worked goal.
Hoops boss Mark Warburton made three changes to his starting XI following Saturday's 1-0 loss at Oakwell.
Chris Willock returned from injury, while skipper Stefan Johansen and Albert Adomah were also handed starts.
Moses Odubajo, Jeff Hendrick and Andre Gray all dropped down to the bench.
Hosts Millwall - sitting comfortably in mid-table - came into this game following a confidence-boosting home win over Cardiff City on Saturday.
The Lions so nearly carried that momentum into taking the lead with less than a minute played against the R's.
Gary Rowett's side eventually worked the ball to Danny McNamara 10-yards out but, unmarked, he somehow blasted over.
Rangers didn't take too long to settle into the game, though.
In a swift move that started with David Marshall's throw-out, Ilias Chair advanced into the Millwall half before picking out Dykes, who saw his shot deflect over.
QPR were dealt a blow when Lee Wallace was forced off through after just 21 minutes.
Then, a minute later, Jed Wallace's volley forced a fine one-handed stop from Marshall. The R's subsequently cleared any danger.
Marshall was worked again shortly after, clawing away Jake Cooper's header from a corner at his left-hand post.
At the other end, on 36 minutes, Rob Dickie met Adomah's right-wing corner, but his deflected attempt was gratefully received by Bartosz Bialkowski.
With the first half drawing to a close, this had been a relatively even encounter but the hosts had seen more of the ball in the final third. The game just lacked any real quality.
With the clock ticking down, Jed Wallace's shot on the turn forced a routine low stop from Marshall. In the end, the first half ended without a goal.
In similar fashion to the first half, Millwall created an excellent opportunity for themselves soon after the restart.
But this time they took it.
The always-influential Jed Wallace lofted a ball out to the left and, when Scott Malone squared low into the box, Bennett stole in at close range to slide the hosts in front.
That goal lifted both Millwall and the home crowd. For a short period after conceding, Rangers had to ensure they remained in the contest.
But just as Rangers had felt their way into the game, Millwall all but ended it in the 64th minute.
Jed Wallace's clever back-heel put sub Burey through on goal, who then produced a lovely finish to curl the ball home from the edge of the box.
As Rangers desperately searched for a way back, Yoann Barbet went close after his 74th-minute header - from a left-flank corner - was cleared off the goal-line by Maikel Kieftenbeld.
QPR then made a double change, as Charlie Austin and Luke Amos replaced Johansen and Adomah.
But there would be no Rangers riposte.
Bennett went close to adding his second, Millwall's third, late on - as the R's slipped to defeat on the road once more.