Cyprus should have equalised in the 15th minute when Dimitris Christofi blazed over from five yards out after Shay Given had blocked Michael Constantinou's angled shot following a Duff miskick.
The Swiss defender's awful miskick gave possession to Navas and his cross was only partially cleared by Gilberto allowing Keita to bludgeon a shot home with the outside of his left foot.