Chelsea loanee Bertrand Traore's fifth goal in six games put the hosts ahead after seven minutes, only for Steven Berghuis to level almost immediately.
Marko Vejinovic's 73rd-minute penalty restored Vitesse's advantage and Jan-Arie van der Heijden rounded off the scoring in stoppage-time.
AZ stay fourth, while Vitesse climb to fifth - three points behind their opponents and four off third spot, which offers automatic qualification for the UEFA Europa League.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.