Pereyra put a buoyant Udinese in front while Torino were still getting to grips with the game, and Francesco Guidolin's side remained in control of the game without needing to score a second goal to take the points.
Torino struggled to create chances and rarely made Udinese sweat as the Bianconeri climbed up to seventh in the Serie A table, four points adrift of a place in Europe next season.
With all of the teams below them picking up at least a point, the result left Torino in a slightly more worrying position than at kick-off, dropping one position thanks to Sampdoria's win over Roma and slipping to within seven points of the relegation zone.
Udinese scored with practically their first chance of the match.
Antonio Di Natale's powerful effort was only parried by Jean-Francois Gillet and Pereyra was on hand to beat the Torino goalkeeper on the rebound to give Udinese a flying start.
Udinese had a few chances to increase their lead before the interval, the best falling for Maicosuel in the 37th minute, but he shot against the post with Gillet beaten.
The frame of the goal was struck at the other end as Torino showed some signs of a reaction in the 59th minute.
Alessio Cerci's shot beat Daniele Padelli, but the crossbar came to the Udinese goalkeeper's rescue.
At the other end, Di Natale went close to his 15th goal of the season in the 65th minute, but his shot just skimmed the post to the right of Gillet after good work from Giampiero Pinzi.
Torino were claiming a penalty 10 minutes from time for a clash between Medhi Benatia and Kamil Glik inside the area, but the referee waved away their protests, the most vehement of which came from their coach Giampiero Ventura, who was sent into the stands by the official.
Torino tried to find an equaliser in the last 10 minutes, but their efforts were too little and, importantly, too late as Udinese held on.