The Uruguay international had made only five Serie A appearances under Walter Mazzarri in this campaign and was keen to leave the club in order to get regular first-team action elsewhere.
Pereira had previously been linked with Olympique de Marseille, but has now opted to make the move to Sao Paulo in an attempt to boost his World Cup chances.
"It is a great pleasure and a huge challenge to play for Sao Paulo. I want to keep up the tradition of successful Uruguayan players here," Pereira commented on the move.
"It's a dream come true to play for one of the biggest clubs in the world."
The 28-year-old started his professional career with Miramar and also wore the jerseys of Quilmes, Argentinos Juniors, CFR Cluj and Porto before joining Inter in the summer of 2012.
Pereira failed to live up to the high expectations with the Nerazzurri, though, and has mainly been confined to the bench this season.