Eddie Johnson had a goal and an assist, and Seattle Sounders FC edged the Chicago Fire, 2-1, on Saturday at Toyota Park in Major League Soccer.

Johnson, who returned to MLS this year after a stint in Europe, set up a David Estrada goal in the first half and followed with the match-winning goal in the 67th minute.

Seattle (4-1-1) earned its second positive road result this year, and extended its unbeaten streak away from home to seven games, which includes six wins and a draw dating back to last season.

Chicago (2-2-2), which got a late goal from Marco Pappa, lost at home for the first time this season in three matches.

Estrada opened the scoring in the 39th minute when he took a pass from Johnson and sent a shot off the leg of Chicago defender Arne Friedrich and inside the left post for his team-high fifth goal of the season.

Johnson headed off the post in the 61st, as he came within inches of his first goal, and Pappa had a goal called back for offsides in the 63rd as each squad had a close call.

Seattle followed with the eventual game-winner, as Jhon Kennedy Hurtado turned a rebound on goal and Johnson poked the ball into the net from close range for his first MLS goal since 2007 with Kansas City.

Chicago pulled one goal back in the 89th, as Pappa swung a corner kick in from the right that got caught up in the wind, sailed off the left post and bounced into net.

Seattle held on through six minutes of stoppage time, as it claimed a rematch of last season's U.S. Open Cup final. Sounders FC won its third straight Open Cup last season with a 2-0 win over the Fire.

The Sounders won for the fourth time this season in just six matches ahead of their home fixture against the Los Angeles Galaxy on Wednesday. Chicago visits Chivas USA on Friday.