PORTLAND, Ore.
- Fadi Afash scored a late goal to lift the Portland Timbers to a 1-0 victory over the Charleston Battery before 4,546 Thursday night at PGE Park.
With the match headed for a 0-0 draw, Portland pressed forward and Edwin Miranda cracked a shot off Charleston goalkeeper Chris Doyle. Byron Alvarez took the rebound and headed it off the ‘keeper and into the path of Afash, who sliced the ball into the right side of the net for the 89th minute victory.
Portland goalkeeper Josh Saunders turned in his second clean sheet of the season, accruing six saves while facing eight shots in the shutout win. Saunders has collected 21 saves in his last three matches.
The victory bumps Portland into second place in the USL First Division table and pushes its regular-season unbeaten streak to 15, dating back to 2004.
Portland dominated possession in the first half by playing an efficient, one-touch game and out-shooting Charleston 5-1.
The Timbers’ best opportunity in the early going arrived when Aaran Lines played a ball inside to Dan Antoniuk, who spun it just right of target in the 10th minute. Antoniuk created another chance in the 24th, but his header sailed high over the crossbar.
Charleston stepped it up offensively in the second half, reeling off seven shots and applying increased pressure to the Portland back line, but could not find the back of the net.
Saunders brought the PGE Park crowd to its feet in the 58th when he made two spectacular windmill saves in a one-on-one against Thabiso Khumalo, but the effort was waved off with Khumalo being ruled offside.
The Timbers will take a 16-day break in action before returning to PGE Park on Saturday, May 28 to take on the Virginia Beach Mariners. Kickoff is 7 p.m. (Pacific).
TIMBERS NOTES:
Several fans from the days of the NASL Timbers presented Timber Jim with a commemorative axe prior to kickoff … Thursday’s match was broadcast live on Comcast CNW 14 in the Portland area … the Timbers’ next game against Virginia Beach is the last at PGE Park until June 16 … the Timbers defeated Charleston 2-1 last season, also in the final minutes, with a penalty kick in the 90th at Blackbaud Stadium.
SCORING SUMMARY:
Afash, 89’ (UA).
MISCONDUCT SUMMARY:
CHR Khumalo, YC (72’), Woods, YC (90’); POR Miranda, YC (19’), S. Saunders, YC (39’).
LINEUPS:
CHARLESTON (1-2-2) Doyle GK, Kutney D, Karalexis D, Woods D, Chronopoulos M, Smith M, Evans M, Alavanja M, Goos M, Simmonds F (Vasquez 73’), Khumalo F (Martinez 85’); PORTLAND (3-0-2) J. Saunders GK, S. Saunders D, Wilkinson D (Morrison 84’), Thompson D, Heinzen D, Alcaraz-Cuellar M, Winters M, Lines M, Miranda M, Antoniuk F (Afash 85’), Alvarez F.
Timbers strike when it counts, defeat Charleston 1-0

Audi 2025 MLS Cup Playoffs Round One Best-of-3 Series
Join us for Game 2 on Nov. 1 at Providence Park! Kickoff is 6:30pm PT!
-
Zivin and Newby dive into all things Audi 2025 MLS Cup Playoffs | Talk Timbers
-
Building off his first goal, Kristoffer Velde and team look to push in Game 2 of MLS Cup Playoffs: "We need everybody"
-
1:25
Fans, photographer and players at the 2025 Timbers Year in Photos Art Show at Powell's City of Books
-
7:14
"The group's focused, the group's ready" | Neville talks about taking on San Diego in Game 2
-
5:36
"We just need to prepare for the next game" | Velde on his first goal and getting set for SD
-
4:12
"We need to now make this a three game series" | Neville talks after Game 1 loss to SD
-
2:56
"I think we kept good intensity despite going down to 10 men" | Surman on Game 1 loss to SD