Farhad Majidi put the visitors in front with a 56th-minute penalty and Mohamed Yasser doubled the advantage three minutes later.
Diego Tardelli made it 3-0 in the 71st minute and, even though Dioko Kaluyituka pulled one back in the 78th minute, Majidi grabbed his second at the death to complete a comprehensive win for Al Gharafa, who moved up to fifth.
In the day's other game Al Khrityat and Al Arabi drew 0-0.