Jonathan de Guzman set up Makaay for the opener after just three minutes and the striker went on to convert a 29th minute penalty and then grab his third goal in the 39th to settle the third round tie.
Serginho Greene scored an own goal after an hour to give the visitors a consolation goal.
Heerenveen's reserves, who lost in the previous round to PSV Eindhoven but then went through after PSV were disqualified for fielding a suspended player, upset second division side ADO Den Haag with a 3-1 win after being a goal down.