The home side took the lead immediately and scored their fastest goal in their history in the league, as Gaston Fernandez turned in Diego Valeri's cross from close range.
DC almost hit back when a loose ball in the penalty area after a corner fell into the path of Jeff Parke, but his effort from close range was well saved by Donovan Ricketts.
However, United did get their equaliser when Davy Arnaud fired a shot from distance which took a deflection and looped over Ricketts into the net.
Portland retook the lead just before the break when Valeri whipped in a corner from the right and Mamadou Danso was able to turn the ball into the bottom corner of the net on the half-volley.
After half time, Darlington Nagbe had the chance to extend the Timbers' lead when he rounded Bill Hamid, but from a tight angle he could only hit the side netting.
United drew level once more in the 78th minute as Danso put the ball in his own net from Fabian Espindola's corner from the right.
The game was close to ending in a draw until Urruti popped up in the dying seconds as he managed to fire in on the rebound from close range after Hamid had saved his first shot to secure the win for his side.