The Brazilian twice exploited Barcelona’s lackadaisical high line to put Real 2-0 up within the first 10 minutes before Robert Lewandowski halved the deficit just after the half hour mark.
But Vinicius completed his hat-trick from the spot in the 39th minute, having been hauled down in the area by Ronald Araujo, before Rodrygo completed a one-sided win after the interval.
To compound a miserable evening in the Saudi capital for Barcelona, Araujo was dismissed in the 71st minute for another foul on Vinicius.
Real, who trailed 3-2 with just five minutes remaining against Atletico Madrid in the semi-final on Wednesday before triumphing 5-3 after extra-time, continued their recent dominance over their rivals.
Carlo Ancelotti’s side prevailed in October’s El Clasico meeting and are seven points ahead of Barcelona at the halfway point of the LaLiga campaign.
This latest encounter marked a chance for Barcelona to land a blow of their own but Xavi’s decision to employ a risky high defensive line backfired spectacularly as Real hit the front after seven minutes.
Jude Bellingham – who at the final whistle celebrated winning his first trophy with Real – split the defence with a sublime pass that allowed Vinicius to round Inaki Pena and slot into an empty net.
Real and Vinicius capitalised again on plenty of space being left in behind as the 23-year-old slid in to convert Rodrygo’s cross.
Barcelona responded well to the double blow as Ferran Torres’ snapshot cannoned against the bar before both he and Lewandowski forced Andriy Lunin into important saves to keep Real two ahead.
Lewandowski’s thunderous volley from the edge of the area after 33 minutes dragged Barcelona back into the contest but the Catalans were the architects of their own downfall moments later.
Araujo paid the price for having his arm around the neck of Vinicius, who went down which saw a penalty awarded and the Barcelona defender booked.
Vinicius made no mistake from 12 yards to re-establish Real’s two-goal lead at half-time.
Xavi made a triple substitution as Joao Felix, Fermin Lopez and Lamine Yamal were introduced just after the hour mark but it did not have the required impact as Real went further ahead in the 64th minute.
Vinicius was involved again as his poor cross was tamely cut out by Jules Kounde straight into the path of Rodrygo, who drilled beyond Pena from inside the area.
Matters worsened for Barcelona as Araujo missed an attempted clearance and instead brought down Vinicius, with the Uruguayan having to trudge off the pitch for a second bookable offence.
Ancelotti was able to withdraw Vinicius and Bellingham in the closing stages with the job done and attention fast turning to Wednesday’s Copa del Rey showdown against Atletico.