Midfielder Diego Valeri set up the tally with a long-range cross from the right flank, and Villafana timed it perfectly and easily slammed it home to allow his team to salvage a point in the regular-season finale for both clubs.
Forward Carlos Vela scored for LAFC, which dominated most of the match but was outplayed late.
LAFC forward Diego Rossi twice hit goalposts while taking five shots. Though Rossi came up empty, he finished the regular season with a league-high 14 goals, becoming the youngest player in history to win the MLS Golden Boot.
- MLS on ESPN+: Stream LIVE games and replays (U.S. only)
Portland dropped to the No. 3 seed in the Western Conference playoffs. The Timbers will host sixth-seeded FC Dallas in the first round.
The Portland goal dropped LAFC to the seventh seed in the playoffs. LAFC will visit the No. 2 Seattle Sounders in the first round.
Vela's goal in the fifth minute held up for 85 minutes as LAFC controlled play and held the Timbers without a shot on goal until the 80th minute.
The Timbers picked up the pace late and had a major opportunity to tie the match in the 80th minute when midfielder Yimmi Chara spotted Valeri open in the box. But Valeri's point-break, right-footed shot was saved by LAFC goalkeeper Kenneth Vermeer.
Vermeer, who had two saves, also stymied a close-range attempt by Portland forward Felipe Mora in the 87th minute. But three minutes later, a strong counter-attack ended with Villafina's goal, his first of the campaign.
Timbers goalkeeper Steve Clark made six saves as LAFC had a 14-8 edge in shots. LAFC led 7-3 in shots on target.
Vela's goal, his fourth of the season, came in his first start since Aug. 22. The reigning league MVP has played in just seven games this season and recently missed 11 games before returning to play in the past three games as a reserve.
Midfielder Latif Blessing took a right-footed shot that Clark stopped with his left hand. The ball went in the direction of Vela, who easily sent a left-footed shot into the net.