Ajax led 3-2 at half-time with substitute striker Dmitry Bulykin notching the opener before restoring the lead with a fine header four minutes before the interval.
Utrecht, however, turned the tide early in the second half with three goals in five minutes. First Daan Bovenberg headed home the equaliser after 'keeper Kenneth Vermeer misjudged a cross.
A deflected shot from Jacob Mulenga put the home side ahead before another blunder from Vermeer gave Nana Asare the chance to strike from 35 metres. Christian Eriksen pulled one back for Ajax but in injury time another mistake by Vermeer earned Anouar Kali Utrecht's sixth.
Ajax remain fifth with 20 points after 12 matches, trailing leaders AZ Alkmaar, 3-0 winners against ADO Den Haag, by 11 points.
Brett Holman put Alkmaar ahead after 11 minutes when he netted a pass from Roy Beerens and second half goals by 18-year-old Adam Maher and Jozy Altidore settled the issue.
Twente Enschede cruised to a 4-0 home win over Graafschap Doetinchem to move into second, six points behind the leaders, on goal difference ahead of PSV Eindhoven.
PSV came from behind against Heracles Almelo to register a 4-1 win, with substitute Jeremain Lens scoring a second half hat-trick.