Gers skipper James Tavernier scored from the spot in the 15th minute of the cinch Premiership encounter before St Johnstone striker Nicky Clark was controversially shown a straight red card in the 33rd minute by referee Willie Collum for a foul on Gers midfielder Ryan Jack. Kamara effectively clinched the points when he added a second with a drive after 57 minutes for his first goal since scoring against RB Leipzig in the Europa League semi-final last May and the first in the league since scoring the only goal of the game against the Perth side last March. Michael Beale extended his unbeaten run to 10 matches - nine wins and a draw - since taking over as Gers boss in November as the Light Blues turn their attention to the game against third-placed Hearts at Tynecastle on Wednesday night.
Richarlison has been limited to only three substitute appearances since the World Cup having been struggling with a hamstring problem.
Having come on in the first half for the injured Ousmane Dembele to make his 100th Barca appearance, Pedri notched the winner in the 61st minute after Jordi Alba's cross came to the 20-year-old via goalkeeper Paulo Gazzaniga. Xavi's men increase their advantage over second-placed Real Madrid ahead of Los Blancos hosting third-placed Real Sociedad on Sunday. Barca later said Dembele had "strained the rectus femoris muscle in his left thigh."