It was the away side who started the match the stronger and Bruno Cheyrou so nearly broke the deadlock with an effort after seven minutes.
Evian grew into the half, however, and took the lead after 15 minutes when Leroy collected a Yannick Sagbo pass before finding the top corner.
Leroy added his second just moments later when Sagbo found the midfielder once more, and he finished coolly into the bottom corner.
Marseille again went close after 46 minutes with an effort from Jeremy Morel, but his header drifted just high of the bar.
Ayew again went close for the away side after 61 minutes, but his effort from outside the box was pushed to safety.
It was Marseille who continued to dominate possession in the latter stages of the match and they came close via Jordan Ayew, but they could not find that elusive strike.
Evian have moved into tenth in Ligue 1, while Marseille sit eighth.