Wilfried Zaha opened the scoring after meeting a low Yannick Bolasie cross at the back post and painfully collided with the upright for his troubles.
The R’s were in disarray at the back, and Bolasie again was allowed too much room to cross for James McArthur to double his side’s lead five minutes before half-time.
Then just three minutes later Joel Ward notched a rare goal to complete a miserable opening 45 minutes for QPR.
Julian Speroni had one of his least eventful afternoons of the season in the Palace goal, until Phillips fired in an incredible strike from 45 yards out with 10 minutes left.
The result sees Chris Ramsey’s side, who are currently four points adrift of safety, face an even tougher challenge to pull themselves out of the relegation mire, while Palace pulled further clear of the bottom three and now sit comfortably in 12th.
After a cagey opening 20 minutes the deadlock was broken by Zaha, who netted for the first time in 25 appearances following great work from Bolasie.
Racing down the left flank, Bolasie made space for the cross and fired low in front of Green and, under a challenge from Suk-Young Yun, the former Manchester United winger just sneaked the ball home, despite suffering a nasty collision with the upright.
The returning Adel Taarabt was looking dangerous, and came close with a thunderous effort from distance, but QPR’s defensive vulnerability was again their undoing as McArthur made it two.
Again Bolasie was allowed time and space to get the cross into the box, and in almost identical fashion as Zaha McArthur slid in to the double the Eagles’ lead.
Things went from bad to worse as Zaha, causing havoc down the right flank this time, pulled the ball back for the advancing Ward who, with the aid of a deflection, beat the despairing dive of Green to put the hosts in a commanding position at the break.
It was the first time that Palace had scored three goals in the first half of a Premier League match in the competition’s history, and they didn’t really have to hit top gear to do so.
The majority of the second half was little more than a procession, as Palace were content to run the clock down and see out the win.
However, Phillips’ strike out of nowhere ensured an exciting finish. The midfielder had no right to even think about shooting from such a distance, but pulled out an extraordinary strike to put his side back in with a shout.
Phillips came close to adding a second from a free-kick which was well saved by Speroni, but for fully 80 minutes QPR were comfortably second best, and have to improve quickly if they are to stay in the division.
Crystal Palace: Speroni (6), Kelly (6), Delaney (6), Dann (7), Ward (7), McArthur (8), Ledley (6), Zaha (8), Puncheon (6), Bolasie (8), Murray (6).
Crystal Palace subs: Gayle (6), Sanogo (5), Mariappa (5)
QPR: Green (6), Onouha (5), Caulker (4), Furlong (4), Suk-Young (5), Taraabt (6), Wright-Phillips (5), Henry (5), Phillips (7), Austin (5), Sandro (5).
QPR subs: Grego-Cox (5), Hill (6), Kranjcar (5)
Man of the Match: Yannick Bolasie