Ajax, held to a surprise 1-1 draw by Heerenveen on Friday, are top with 67 points ahead of PSV. Vitesse Arnhem, who have 61 points in third, visit fourth-placed Feyenoord (60) on Sunday.
Captain Mark van Bommel put PSV ahead nine minutes before the break with a free kick from 20 metres past the wall.
Dries Mertens doubled their lead in the 57th by finishing off a fine attack in which Kevin Strootman set up the Belgian international before Jeremain Lens added a third on the hour.
Aron Johannsson netted from close range five minutes from time to earn lowly Alkmaar a consolation before they meet the Eindhoven club again in the Dutch Cup final on May 9.
Although PSV bounced back after suffering a crushing 3-2 home defeat by Ajax last Sunday, Van Bommel believes their title hopes have probably been dashed by that result.
"Of course, we still are very disappointed about last week's loss and it looks like the championship is out of sight but we just have to fight to finish second and then you never know what can happen in the remaining matches," he said.
Mid-table Groningen closed in on the playoff spots for a Europa League place, which go to teams finishing between fifth and eighth, by beating ADO Den Haag 2-1 thanks to first-half headers from Gennaro Zeefuik and David Teixeira.
Both teams finished with 10 men after a red card for Groningen's Virgil van Dijk just past the hour mark and a double booking for Kevin Jansen who was dismissed 15 minutes from time.
Eighth-placed Groningen have joined Heerenveen on 42 points behind Utrecht (51), who host NAC Breda on Sunday, and Twente Enschede (54) who travel to lowly VVV Venlo.
Basement side Willem II Tilburg grabbed a lifeline with a 2-1 win at Roda JC Kerkrade, who are seven points above them in one of the two relegation playoff spots.
Tilburg are now within two points of second-bottom Venlo, who occupy the other relegation playoff place.
- Sports & Recreation
- Kevin Strootman