Gyan edges Ghana closer to finals
Udinese midfielder Emmanuel Agyemang Badu scored the other goal but an expected rout failed to materialise even as Swaziland continued their losing streak in the preliminaries.
Gyan scored after eight minutes to hint at the start of a deluge but it took a further 70 minutes for Badu to net the second for the Black Stars.
Ghana now lead closest rivals Sudan by three points in the race to finish top of the group although Sudan must still play their penultimate qualifier, away against the Congo in Brazzaville on Sunday.
Ghana head to London on Saturday to prepare for a friendly against Brazil at Craven Cottage on Monday.