Al Ahli beat 10-man Al Hilal in a battle of Saudi Pro League sides in Jeddah on Tuesday to earn a spot in Saturday’s Asian Champions League final.