Adi scored from a penalty kick in the 88th minute to move past John Bain, who played for the Timbers in the old NASL from1978-82. It was his fifth goal of the season after starting the year in third place behind Byron Alvarez (2003-06).
Philadelphia opened the scoring in the 26th minute on a perfectly timed header by Richie Marquez following a corner kick by Haris Medunjanin.
The Timbers equalized six minutes later when Darlington Nagbe intercepted a pass and put a shot from outside the box just inside the left post.
Roy Miller then put Western Conference-leading Portland on top with his first goal in the 66th minute, heading home from a great service by Diego Valeri from a free kick from the left wing, before Adi's capped off the win.
Albert Rusnak had a goal and two assists in the second half during a snowstorm and Real Salt Lake ended a 13-match winless run with a 3-0 victory over the Vancouver Whitecaps, giving new coach Mike Petke a win in his first game in charge.
It began snowing in the first half and the snow started sticking at halftime, prompting use of the orange ball. RSL, which had three goals coming in, controlled Vancouver with Nick Rimando making just two saves for second shutout this season and 130th of his career.
Rusnak notched his first goal in the 54th minute, taking a splendid long pass from Joao Plata as he made a run down the middle. Angling left into the box, Rusnak stopped abruptly and as the defender couldn't stop, turned inside and calmly slotted the ball inside the near post.
Yura Movsisyan scored his third goal from almost the same spot 20 minutes later, going far post after Rusnak found him with a pass over the top. In the 78th minute, Luke Mulholland got his third following Rusnak's corner.
Nemanja Nikolic scored his second goal of the season and the Chicago Fire beat Eastern Conference-leading Columbus Crew SC 1-0.
Dax McCarty, in his 250th career MLS start, sent a through ball up the middle to Nikolic, who got loose in the box and scored from the right side in the 22nd minute, the ball deflecting off goalkeeper Zack Steffen.
Much of the pregame attention was on Bastian Schweinsteiger, the midfielder making his second start for Chicago after scoring in his Fire debut. He nearly gave the Fire an insurance goal in the 76th minute, but his free kick from just outside the box was tipped away by a sprawling Steffen, who made four saves.
The Fire had given up seven goals in their four matches but held Columbus top scorer Justin Meram without a shot, while Jorge Bava turned away three shots for the clean sheet.
Chris Wondolowski scored just as the clock struck 90 minutes to salvage a 1-1 draw for the San Jose Earthquakes against the Seattle Sounders.
The game appeared headed for a goalless draw before Nicolas Lodeiro gave the Sounders the lead in the 85th minute with a stunning strike. Clint Dempsey's free kick struck the Earthquakes wall but bounced back to Lodeiro, who drove it into the back of the net on the volley.
But with time running down,Marcos Urena found Wondolowski alone in the box with a cross, and the U.S. striker turned it in to earn a point.
Kei Kamara and Juan Agudelo scored second-half goals to help theNew England Revolution beat the Houston Dynamo 2-0.
Neither team had a shot on target in the first half, but in the 52nd minute, Lee Nguyen nudged the ball past a couple of defenders to play in Kamara for the opener. Goalkeeper Tyler Deric blocked the initial shot but the rebound came back to Kamara, who scored his second goal this season.
Agudelo, who had sent a close-in header over the charging Deric and the bar during first-half stoppage time, scored his third goal of the season from a rebound in the 72nd minute after Deric had punched out a cross by Kelyn Rowe.
The Dynamo came in averaging an MLS-best 2.75 goals per game, led by Erick Torres with six. But Torres didn't take a shot, and Cody Cropper turned away the Dynamo's only shot on target.
Hector Villalba scored twice and Atlanta United survived being a man down for the last 15 minutes to draw 2-2 with Toronto FC.
Expansion Atlanta extended its unbeaten run to four games. Sebastian Giovinco and Justin Morrow scored for Toronto, which has drawn four of its first five games.
Villalba was played through on goal by a pass from Miguel Almiron and opened the scoring in the 15th minute, but Giovinco equalized five minutes later after receiving a fine back-heeled pass from Jozy Altidore.
Morrow then put Toronto in front a minute before half-time by redirecting a Steven Beitashour cross from close range, but two minutes after the break Atlanta was level when Villalba raced onto a long pass fromLeandro Gonzalez Pirez.
Atlanta's Yamil Asad was sent off in the 75th minute after referee David Gantar ruled that he used an elbow to floor Eriq Zavaleta. Atlanta assistant coach Jorge Theiler also was ejected in the ensuing argument.
Michael Barios had a goal and an assist to lift FC Dallas to a 2-0 victory over Minnesota United.
Javier Morales' first goal of the season in the 43rd minute was all Jesse Gonzalez needed for his second clean sheet in two starts this season. Barios, outside the box on the left, started the winning sequence by serving the ball to the far post. Walker Zimmerman got his head on the volley and put it out front, where Morales toe poked it out of the air past Bobby Shuttleworth.
Barios couldn't have scored an easier goal, his first, in the 49th minute. Kellyn Acosta stole the ball just outside the box, took a couple dribbles in and found Barios to his right with a wide open goal in front of him.
Gonzalez made five saves for unbeaten Dallas, three off the single-game high in the league so far this season as expansion Minnesota took 13 shots.
Lloyd Sam and Luciano Acosta scored in the second half in D.C. United's 2-1 victory over New York City FC.
D.C. has scored two goals in each of its last two games after going scoreless in its first three matches of the season, including a 4-0 defeat to NYCFC on March 12.
In the 53rd minute, Lloyd stole the ball from defender Frederic Brillant deep in NYCFC's half and fired the ball from near the penalty spot past the sliding Johnson. Sam's first goal this season came in his 100th MLS start.
Acosta scored his second goal this season in the 73rd minute via a rebound. He passed to Sam, whose shot was blocked by Johnson back to Acosta for an easy score.
Bill Hamid made a terrific double save for United in the 82nd minute, but two minutes later, NYCFC's Thomas McNamara sent a cross to David Villa, who scored his third of the season.
Philly 1-3 Portland: Adi makes Timbers history - Via MLS
Fanendo Adi converted a penalty kick to become Portland's all-time leading scorer in a win at Philadelphia.
RSL 3-0 Vancouver: Snow can't stop goals
Real Salt Lake used three second-half goals to rout Vancouver as snow fell in droves in Utah.
Chicago 1-0 Columbus: Nikolic, McCarty lead Fire - Via MLS
A lone goal from new signing Nemanja Nikolic was enough to see Chicago past a feisty Columbus team.
San Jose 1-1 Seattle: Late drama in Cali - Via MLS
Chris Wondolowski's 90th-minute goal offset a thrilling volley from Nico Lodeiro as San Jose and Seattle played to a draw.
Revolution 2-0 Houston Dynamo: Revs roll at home - Via MLS
Second-half strikes from Kei Kamara and Juan Agudelo gave the Revs three big points at home against high-flying Houston.
Toronto 2-2 Atlanta: Villalba brace for 10-man visitors
Sebastian Giovinco scored his first goal of 2017 and Hector Villalba scored twice as Toronto and Atlanta shared the points.
FC Dallas 2-0 Minnesota: Dallas dominate
After an impressive win over RSL, Minnesota crashed back to Earth, where Dallas' high-tempo style proved to be too much.