Tim Matavz went close before Jeremain Lens gave PSV the lead in the 34th minute, rounding off a fluent counter-attack.
But Ruben Schaken equalised after an exchange of passes with Marcelo (47) and Graziano Pelle's shot on the turn (68) earned three points for the host.
The result saw Feyenoord close to within a point of second-placed Ajax, which needed a late Lasse Schone goal to salvage a 1-1 draw against ADO Den Haag.
Niklas Moisander's error allowed Tjaronn Chery to put ADO ahead against the run of play on the half-hour but Schone struck back five minutes from time.
Sixth-placed FC Utrecht beat Roda JC 4-0 after its relegation-threatened opponent was reduced to 10 men inside the first 20 minutes.
Abel Tamata's dismissal and Jacob Mulenga's successful penalty swung the game Utrecht's way from an early stage and Jan Wuytens (27) gave them a 2-0 half-time lead.
Socceroos winger Oar struck shortly after the interval before Mulenga rounded off the scoring.