Rochdale 1 Brentford 2
Thomas Kennedy pulled one back for Dale after Ryan Dickson was penalised for handball eight minutes before the break, but the Bees held on.
This was Brentford's third win in four games, and they are now three points clear of Wycombe and Bury.
The visitors took the lead in the ninth minute when Rhodes headed home Sam Wood's cross.
And MacDonald doubled his side's lead, which proved to be unassailable, on the quarter-hour mark when he fired into the bottom right-hand corner of Frank Fielding's goal after picking up Wood's pass inside the box.
Rochdale could have moved to within a point of the automatic promotion places had they won the game, and they gave themselves some hope with Kennedy's conversion from the spot before the break.
And they had the lion's share of the play in the second half as they piled on the pressure in search of a valuable equaliser.
Will Buckley, Chris Dagnall, Nathan Stanton and Lee McEvilly all had good chances to prevent what became Rochdale's first home league defeat since October, 4.
Despite the loss, Rochdale are still firmly ensconced in the play-off picture.