Johnson's goal on a free kick in the 78th minute gave Portland a 1-0 win on Sunday night. It was the Timbers' second straight victory, moving the team to 2-1-3 under new coach Caleb Porter.
Gordon was ejected in the second half after receiving a pair of yellow cards involving fouls on other players. But minutes earlier, he was seen on the television broadcast using a slur toward Johnson.
After the match, Gordon released a statement through the team.
"I would like to sincerely apologize to everyone who watched tonight's match on NBC Sports Network. The language I used came during a heated moment and does not reflect my feelings toward the gay and lesbian community. I made a mistake and I accept full responsibility for my actions," the statement read.
Johnson was diplomatic.
"I think it's probably better that I don't comment on that," he said. "It's a very sensitive matter. I'd prefer the league go through with their protocol."
Earthquakes president Dave Kaval said he is appalled that Gordon used the slur. Kaval said Gordon's actions have let down the team's fans and he will do whatever is necessary so the team can be "viewed as a beacon of diversity, community, and equality."
It's standard procedure for Major League Soccer to review the video of matches that involve a red card.
Gordon was escorted from the locker room after the game by team personnel and did not speak with reporters after match.
The loss dropped the Earthquakes to 2-3-2.
Forward Steven Lenhart was back in San Jose's starting lineup after returning from a partially torn meniscus last weekend as a reserve. The striker missed San Jose's first five matches after offseason surgery. That meant the Earthquakes' so-called Bash Brothers -- Lenhart and Gordon -- were both starting for the first time this season.
But Gordon was sent off in the 68th minute after getting a second yellow card, for elbowing Timbers defender Mikael Silvestre in the face, causing a bloody lip. Gordon also received a yellow in the 41st minute for a foul on Diego Chara.
Video replay appeared to show that Gordon directed a slur at Johnson a few minutes before his ejection. Such a comment would bring an automatic three-match suspension by MLS.
Some 10 minutes later, Johnson hit a free kick from just outside the penalty arc that sailed over the wall and past goalkeeper Jon Busch.
"It doesn't work every time," Johnson said. "But when it does, it's nice."
Earlier in the day, Porter had texted Johnson asking, "Why don't you hit a free kick tonight?" The coach was floored when it happened.
"Everybody's going to talk about the free kick," Johnson said. "But it's really about the team."
The teams played to a scoreless draw in the first half. Portland missed an opportunity when Ryan Johnson's header was snagged in midair by Busch in the 43rd minute.
The Timbers dominated possession (62.6 percent) in the first half, but matched San Jose with just four shots. It was a physical match, as evidenced by the yellow cards. Four minutes after Chara was fouled by Gordon, Chara got a yellow card for a foul on Rafael Baca.
Following the game, Yallop questioned why officials waited to make the call to eject Gordon until after the video scoreboard had shown a replay, firing up the crowd at Jeld-Wen.
"You should let the officials call the game," he said, adding that he had not seen the replay.
Portland was without midfielder Diego Valeri, who was elbowed in the face last weekend against the Dynamo and only participated in light workouts this week because of the league's concussion protocol. The Timbers also lost defender David Horst to a fractured right tibia during the Houston game. He is out six months.
The Timbers also announced shortly before the game that defender Andrew Jean-Baptiste would not start because of a right adductor strain. Futty Danso started in his place.
Portland is 2-0-4 against the Earthquakes. Sunday's game was the first of a home-and-home with San Jose, and the two teams meet again next Sunday at Buck Shaw Stadium.