Giovanni van Bronckhorst’s side needed to win, with Ajax one point behind them, and nerves were settled when 36-year-old Kuyt pounced on a defensive mistake to score the opener after 38 seconds.
He headed in his second in the 12th minute and scored a penalty late on before Peter van Ooijen’s consolation.
Ajax won 3-1 at Willem II.
Their manager Peter Bosz fielded the youngest starting XI in Eredivisie history for the game, with an average age of 20 years and 139 days.
Captain Davy Klaassen, at the age of 24, was the only player over 21 starting. But goals from Kasper Dolberg, Davinson Sanchez and Klaassen proved to be in vain for their title hopes.
The Amsterdam club’s next game is the Europa League final against Manchester United on Wednesday, 24 May.
Feyenoord could have sealed the title last weekend, but fell to a shock3-0 defeat at mid-table Rotterdam rivals Excelsior, who used to be their feeder club.
They topped the league for the entire season, the first team to achieve that since Ajax in 1997-98.