It capped a wonderful evening for the inside centre, who ran in a fine second-half try and accounted for all of Leinster’s 16 points.
It was hard not to feel sorry for the Scarlets though, because they did what few teams have done here — stood up to the Leinster bullies on their home patch.
Joe Schmidt’s team have grown accustomed to dishing out heavy beatings to all comers, but they had to dig deeper than they’ve had to for some time before they finally managed to crack the hard nuts from the Valleys.
The visitors pinned Leinster back into their own half with phase after patient phase, and their ball-handling and footwork defied the greasy ball and sodden turf.
Leinster, in contrast, were struggling to get any sort of toe-hold on the match, and they could have no complaints when Scarlets out-half Stephen Jones opened the scoring with a cleanly kicked penalty.
The home team needed someone to produce an inspirational cameo to shake them from their torpor, and winger Fionn Carr was the man to provide it when he ripped through the Scarlets defensive line on one of those trademark jinking runs of his.
Leinster finally had some go-forward ball, and after a couple more phases their pressure forced the Scarlets to cough up a penalty that McFadden slotted.
However, Scarlets again surged deep into Leinster territory thanks to some fine handling and powerful running, and their endeavour was rewarded when full-back Dan Newton scored the first try of the match on 27 minutes.
When Scarlets hooker Deacon Manu picked the ball up at the base of a ruck he took one quick look and then immediately charged through the gaping hole that suddenly appeared in front of him.
The initial break made, he then flipped the ball to Jonathan Edwards, who immediately transferred to Newton and the full-back had little trouble in doing the rest.
Whatever Joe Schmidt said to his players at the break had the desired effect, because after little over a minute of the second half had elapsed his side had drawn level.
An early surge into enemy territory found immediate reward when McFadden displayed great footwork to shimmy his way through the Scarlets defensive line and then dart between the posts to touch the ball down. He also supplied the extras.
Scarlets continued to give as good as they got in every facet of the play, from physical collisions to the battle at the breakdown, and for a good 20 minutes the match became a real arm-wrestle around the middle of the field.
It was Scarlets who finally ended the temporary deadlock when Jones flighted over a penalty from near the half-way line, but almost immediately McFadden cancelled it out with another three-pointer.
The Welshmen continued to defend valiantly but right at the death they coughed up the fateful penalty that McFadden nailed to snatch the win.
Scorers Leinster: Try: F McFadden. Pens: F McFadden (2). Con: F McFadden.
Scorers for Scarlets: Try: D Newtown. Pen: S Jones. Con: S Jones.
LEINSTER: I Nacewa; D Kearney, E O’Malley, F McFadden, F Carr; I Madigan, E Reddan; J McGrath, S Cronin, J Hagan; D Browne, D Toner; K McLaughlin, S Jennins, R Ruddock.
Replacements: L Auva’a for D Browne (ht), R Strauss for S Cronin, N White for J Hagan (both 54), H van der Merwe for J McGrath (58), I Boss for E Reddan (63), D Ryan for R Ruddock (67).
SCARLETS: D Newton; L Williams, G Maule, S Williams, A Fenby; S Jones, G Davies; R Jones, E Phillips, D Manu; S Timani, D Day; J Turnbull, J Edwards, K Murphy.
Replacements: D Welch for S Timani, B Morgan for K Murphy (both 47), A Waren for S Jones (59), P Edwards for D Manu, P John for R Jones (both 65), L Davies for G Davies, C Hawkins for E Phillips (both 76).
Referee: N Owens (WRU).