Scarlets opened up a half-time lead when full-back Daniel Newton crossed and Stephen Jones added the conversion and a penalty to give Scarlets a 10-3 advantage at the interval.
That was before McFadden stole the show, converting his own try moments after the break to get the Irish Province back in the match, then trading penalties with Newton, before slotting the final kick to win it.
The win means Leinster stay nine points clear of second-placed Ospreys and Schmidt hailed the determination of his centres, reserving special praise for his match-winner - who notched all 16 points.
"Fergus gave a really gritty performance," Schmidt told SportsNews Ireland.
"He, along with Eoin O'Malley really dug deep for us. It was great that they got through it.
"Conditions made things difficult to really get the tempo into the game."