Minutes after QPR had survived an almighty goalmouth scramble, Roofe acrobatically fired United into a 30th-minute lead from an Adam Forshaw corner.
QPR produced next to no response and United then doubled their lead two minutes after the break through a fine low finish from Phillips who cashed in on Hoops ‘keeper Joe Lumley’s hashed clearance.
The season finale also featured a debut for 16-year-old striker Ryan Edmondson who was brought on with 16 minutes left and almost scored three minutes later when his powerful shot was deflected over the bar.
QPR initially looked the more threatening side in a very quiet opening quarter but Bailey Peacock-Farrell easily claimed Matt Smith’s header before another header from Smith was sent over the bar. Josh Scowen then also blazed an effort over the bar from just outside the box.
But Leeds went close to taking the lead just before the half hour mark after excellent work from Tom Pearce who raced to the byline to force a corner with a dangerous cross.
From the corner, QPR somehow survived four Leeds attempts in an almighty goalmouth scramble with efforts from Pontus Jansson, Roofe, Luke Ayling and Phillips all blocked.
But United were beginning to get on top and the Whites took the lead on the half hour mark after Caleb Ekuban’s blocked shot had forced another corner.
QPR cleared Adam Forshaw’s first corner but his second delivery was nodded on by Phillips and Roofe then produced an instinctive overhead kick to net from close range.
After another quiet ten minutes, United pressed for a second shortly before the break with a stinging effort from Pearce blocked before the same player’s cross found Gjanni Alioski whose header whistled past the post. The excellent Adam Forshaw then almost played in the returning Luke Ayling.
In first half stoppage time, QPR’s Darnell Furlong then wasted a half chance by powering a header over the bar from a free-kick.
United’s Pontus Jansson was then taken off during the half-time break for Matthew Pennington but within two minutes of the restart United had doubled their lead after a horlicks from Hoops ‘keeper Joe Lumley.
The custodian made a mess of a simple clearance which fell straight to Phillips who steadied himself on the edge of the box before producing a calm low finish into the bottom corner.
Leeds were cruising and a limited Hoops response saw Smith win a glancing header which Pearce was able to clear after Luke Freeman had fired wide from long range.
A third goal for Leeds looked more likely and Roofe cut inside before curling a decent effort over the bar shortly after the hour mark.
Alioski then missed a sitter in the 73rd minute following a fine cross from Roofe as Lumley parried the Macedonian’s shot from close range behind for a corner.
Whites head coach Paul Heckingbottom then gave a debut to 16-year-old striker Edmondson who was brought on to an almighty roar when replacing Roofe with 16 minutes left.
Edmondson immediately made an impact and was unlucky not to score in the 78th minute as his goalbound shot from Alioski’s lay off was deflected narrowly over the bar.
The young striker was then booked for a foul on Furlong who looked to make the most of it but the teen looked promising, offering hope for next year after a disappointing season which was at least ended with a win.
Leeds United: Peacock-Farrell, Ayling, Jansson (Pennington 45), Cooper, Pearce, Forshaw (O’Kane 87), Vieira, Phillips, Alioski, Roofe (Edmondson 73), Ekuban. Subs not used: Lonergan, Saiz, Sacko, Lasogga.
QPR: Lumley, Wszolek (Smyth 61), Furlong, Bidwell, Manning, Scowen, Cousins, Chair (Osayi-Samuel 60), Freeman, Eze (Oteh 73), Smith. Subs not used: Ingram, Kakay, Hamalainen, Owens.
Referee: Darren England.