Khazri urodził się w Ajaccio w rodzinie pochodzenia tunezyjskiego. Swoją karierę rozpoczął w klubie JS Ajaccio. W 2003 podjął treningi w SC Bastia, a w 2008 awansował do kadry pierwszego zespołu. 20 lutego 2009 zadebiutował w nim w rozgrywkach Ligue 2 w wygranym 1:0 wyjazdowym meczu z Amiens SC. W sezonie 2009/2010, w którym stał się podstawowym zawodnikiem, spadł z Bastią do Championnat National. W sezonie 2010/2011 wrócił z Bastią do drugiej ligi, a w sezonie 2011/2012 wywalczył awans do pierwszej ligi.
30 stycznia 2016 przeszedł do angielskiego Sunderlandu.
Kariera reprezentacyjna
W reprezentacji Tunezji Khazri zadebiutował 7 stycznia 2013 w zremisowanym 1:1 towarzyskim meczu z Etiopią. W tym samym roku został powołany do kadry na Puchar Narodów Afryki 2013. Wraz z reprezentacją wystąpił na Mistrzostwach Świata 2018, na których zdobył dwie bramki i zaliczył dwie asysty.