Johnson, who split the 2011 season between Double-A Bowie and Triple-A Norfolk, threw 36 pitches and held the Scorpions to a run on three hits over three innings. He struck out one but failed to pick up a win in his eighth start.
"I felt good -- it's been a long season, and with this being the last start, you want to go out there and get through one more," he said. "I just pounded the zone. I struggled with that the last few innings, gave up a run, but I was pretty happy with it."
Johnson, the O's 13th-round pick in 2005, worked a 1-2-3 first and then picked off Nationals top prospect Bryce Harper in the second after the former No. 1 overall Draft pick reached on a one-out single.
A two-out double by Zach Walters plated Cody Overbeck (Phillies) in the third for Scottsdale's lone run against the righty, but Johnson ended the frame with a double play.
Johnson finished the AFL season with 15 strikeouts and six walks in 21 1/3 innings. He said he enjoyed the opportunity after working his way up to Triple-A this summer.
"It was a great experience. It's like being on an All-Star team -- you get used to playing with guys in your organization, so it's nice to mix it up," he said. "It's great out here, you have a good defense behind you and you're playing against the best. It's a lot of fun out here -- I'm glad I was able to perform."
Johnson, who threw 22 of his pitches for strikes on Thursday, said that working on his command was one of his goals entering the league.
"It's a big thing I need to work on. I had some time in Triple-a this year, and that was an issue," he said. "I hit the corners and proved I could pound the zone with my pitches and throw strikes. And that was one of my goals out here, and I just need to continue to do it next year."
Mesa took the lead in the fifth when it scored all six runs off Giants reliever Ryan Bradley (0-1), who did not record an out. Junior Lake (Cubs) and Aaron Hicks (Twins) each drove in two runs while the Orioles' Xavier Avery and Joe Mahoney knocked in the others.
San Francisco righty Austin Fleet started for Scottsdale and held the Solar Sox to a pair of hits over two innings.