Rayo began the weekend just three points above the drop zone but end it firmly in mid-table and above Celta on their head-to-head record.
Ruben Rochina scored the opener in the 26th minute and a quick double from Alberto Bueno in the second half ensured Rayo were not even rocked by Razvan Rat's 64th minute red card.
Celta, who moved themselves away from trouble with a 1-0 win over Sevilla last weekend, began brightly, and Charles Dias brought an early save out of Ruben Martinez, who then also held an 18th minute drilled effort from Michael Krohn-Delhi.
Rayo were yet to get going, the best they could muster a couple of weak shots from Bueno and Yago Falque which failed to trouble the goalkeeper.
But they snatched the lead in the 26th minute when Falque crossed for Rochina to volley home from close range.
Saul Niguez tried to follow it up but Yoel Rodriguez held his shot while Joaquin Larrivey sent a weak header wide before the break.
But they did not need long to double their lead in the second half as Falque crossed again, this time finding Bueno, who drilled it home from the penalty spot.
Bueno went close again before settling the match on the hour mark, turning home a cross from Roberto Trashorras.
Rayo's rhythm was broken four minutes later when Rat saw red for violent conduct after a rash tackle on Dias.
The momentum swung Celta's way, but despite an array of chances, they could not get themselves back in the game.
Alex Lopez was guilty of a glaring miss from close range before Martinez held Manuel Nolito's effort and a long-range shot from Mario Bermejo.
Krohn-Delhi then shot straight at the goalkeeper before Rafinha sent a disappointing shot over the crossbar.
With time running down, Bermejo headed wide, and Celta's frustration continued as Martinez turned a driven shot from Lopez over the crossbar in stoppage time.