
Nathan Otavio opened the scoring for Al Rayyan but Al Gharafa hit back through Rashid Sumaila and Abdulghani Muneer in the second half.
The match got off to a fast pace with players from both sides engaging in fierce battles for ball possession even though Al Rayyan started off without key strikers Rodrigo Tabata and Sebastian Soria.
Early in the first half, Al Rayyan's Abdulrahman Al Korbi was shown a yellow card for a reckless tackle on Al Gharafa skipper Fahad Al Shammari in the 9th minute.
In the 14th minute, Al Rayyan grabbed the lead with a well-timed move at Al Sadd Stadium.
Myongin Koh curled in a beautiful pass for Nathan who produced a great snap-header to deflect the ball past goalkeeper Hassan Ali.
In the 20th minute, Al Rayyan's Sumaila was shown a yellow card by the referee for a rough sliding tackle on Al Rayyan's Ahmed Alaaedin as the robust nature of the match continued.
In the 36th minute, Al Gharafa's Abdur Razzaq attempted a scissor kick but his airborne maneuver hit Al Rayyan's Alaaeddin smack in the face, resulting in a long stoppage in play.
Five minutes into the second half, Al Gharafa's Razzaq misfired from close range when he failed to find the target with only goalkeeper to beat Omar Bari.
In the 55th minute, Al Gharafa produced the equaliser through Sumaila who slotted the ball into an open net following a goal-line melee in the Al Rayyan box.
The goal prompted Al Rayyan coach Michael Laudrup to signal Tabata to get warmed up for a possible substitution.
Seconds later, Koh was benched by Laudrup and in walked Tabata to loud cheer from Al Rayyan faithful.
In the 74th minute, Al Gharafa jumped to a 2-1 lead, thanks to a slick close-range deflection by Muneer.
In the 79th minute, Tabata curled in a beautifully taken free kick but was well blocked by Al Gharafa goalkeeper Ali.