Alberto Callaspo's pinch-hit single off lefty Brett Cecil in the eighth narrowed Toronto's lead to one run, but the A's also stranded two baserunners in the inning and nine on the night.
They've plated just 10 runs in the last four games, after scoring 30 times in the first three games of this nine-game road trip.
"I feel like in Tampa, we definitely struggled offensively," said Moss. "It was tough to see the ball and pick up the ball there. The approach that they use in Tampa is pretty tough to get a lot of hits against. We were waiting them out, but just couldn't seem to get that big hit. Tonight, though, I thought we swung the bats really well."
They just had little to show for it. Jed Lowrie came within a few feet of a grand slam, and Moss nearly had a second homer in the sixth.
"Usually in this ballpark, those balls go, but maybe because it's early in the season and the roof's closed, I don't know. That's part of the game," said Moss. "At least we did that. We didn't hit a lot of balls hard in Tampa. But tonight, we did the things that it takes to win a game, it just didn't happen."
The loss was charged to Scott Kazmir despite a solid outing from the lefty, pitching on five days' rest following his second-inning ejection in Saturday's start in Cleveland.
He gave the A's seven innings, allowing three runs and five hits with one walk and two strikeouts.
Kazmir surrendered a two-run homer to one-time A's infielder Steve Tolleson in the second, and it was his own throwing error on a pickoff attempt of Kevin Pillar at second base in the third that led to another run.
The throw was perfect, but neither second baseman Nick Punto nor shortstop Lowrie were covering the bag, and Pillar easily landed on third before coming home on Jose Reyes' groundout.
"That turned out to be costly. It was completely, 100 percent my fault," said Kazmir. "Just should've held on to it. It ended up being the difference-maker in the game."
Moss' fourth-inning shot off starter Liam Hendriks was his seventh in his last 18 games.
Bench coach Chip Hale, acting as manager Friday in the absence of Bob Melvin, who was in New York attending his daughter's college graduation, was playing with a limited bench.
John Jaso was unavailable because of general tightness, ruling him out as an option to pinch-hit with one out in the ninth inning for the struggling Kyle Blanks, whom Hale believed capable of potentially hitting one out, anyway.
But Blanks struck out against righty closer Casey Janssen for the fourth time in his last six at-bats, having already grounded into a double play on two occasions Friday.
"We wanted to put him out there tonight, give him a shot, give him some at-bats to see if he could pop one," Hale said. "That's why we stayed with him late in the game. Nobody on, maybe he ties it. But he's just pressing a little bit, getting used to what's going on here. When you don't play a lot, it's a difficult position to be in. I think he'll be fine."
Hale had the left-handed Eric Sogard on the bench as an option, but needed to keep him handy in case the A's were to take the field in the bottom of the inning, with Punto suffering from left calf tightness.
Punto is doubtful for Saturday, when the A's will attempt to even the series following a frustrating start.
"We put some good swings on balls," said Lowrie, "and didn't get the results we were hoping for."