The win lifted Copa America holders Uruguay into second place in the South American group, a point behind leaders Chile and one ahead of Argentina, while Ecuador's win in Quito saw them climb to fourth.
Uruguay took the lead after 15 minutes in controversial fashion, centre back Sebastian Coates' goal-bound header looked to be touched on by striker Luis Suarez and Peru's Antonio Gonzales tried to block the ball on the line.
Peru coach Sergio Markarian said he had been told the ball had not crossed the line, and that there was also a hint of offside about Uruguay's second.
"I got (telephone) calls that tell me the ball didn't go in for the first goal," Markarian told a news conference. "They tell me that for the second goal there is offside," he added referring to Maxi Pereira's strike on the half hour that put the home side two up.
Peru got back on level terms with an own goal from Uruguay defender Diego Godin and a volley from striker Paolo Guerrero either side of the interval.
Diego Forlan had a penalty saved by Peru's Diego Penny, but the Uruguayans romped home with goals from substitutes Cristian Rodriguez and Sebastian Eguren to complete their third four-goal haul in five matches.
Markarian would not judge Brazilian referee Leandro Vuaden's performance but said the loss was hard to swallow.
"I'm not going to make a value judgment over the refereeing nor do I want to stain Uruguay's victory, which was fair without doubt, but I'm left with a sour taste, a hard defeat," he said.
REGIONAL PARITY
Uruguay coach Oscar Washington Tabarez was full of praise for the performance of injury-hit Peru, whose hopes of reaching their first World Cup finals since 1982 dimmed as they prop up the table with three points.
"Peru showed they're a team who are alive. They went out to fight for a win, creating problems with a high degree of efficiency, scoring twice and they had two or three more chances," he said.
"We're very satisfied to have managed this triumph which was so difficult and I think it shows clearly how much parity there is in South American football.
"No match is won or decided beforehand."
Tabarez's comments could also have described the tight match in Quito nearly 3,000 metres above sea level where Ecuador once again made their advantage in the rarefied air pay off with their third victory in five qualifiers.
Striker Cristian Benitez headed the only goal nine minutes after halftime leaving Colombia coach Jose Pekerman with plenty of work to do to lift his team from sixth place in the next two rounds in September.
Ecuador defender Cristian Noboa was sent off in the 86th minute after receiving a second booking.
"It was a tight match, we need to be more competitive. I think there are still chances to keep looking for a place at the World Cup," Pekerman said.