Teheran pitched six sharp innings and Riley scored the only run, lifting the Braves over the Miami Marlins 1-0 on Saturday.
"I just hustled and then once I saw it get through I maybe knew I had a chance and heard `go, go, go, go,' and I was going," Riley said.
Riley took third on a flyball and scored on Tyler Flowers' sacrifice fly.
The Braves won despite getting only three hits and improved to 5-0 this season at Marlins Park. Miami, which was shut out for the 11th time this season, had just four hits.
Atlanta had outscored the Marlins 26-6 in the previous four wins in Miami.
Teheran (4-4) gave up two hits and struck out five. He has not allowed more than one earned run in each of his last seven starts.
"(Teheran) was great again. I'm just glad we got him a win ... he was awesome," Atlanta manager Brian Snitker said.
Teheran wasn't thinking about the pitchers' duel but on being effective when the Marlins threatened in the third and sixth innings.
"I know there were a couple of situations where I got runners on bases, but I keep my faith," Teheran said. "That was something big and I was happy that I got the win, obviously."
Luke Jackson recorded four outs for his ninth save. With two outs and runners at the corners in the eighth, Miami's Brian Anderson hit a slow roller to third base and was out in a close play -- a replay confirmed the call.
Richards (3-6) gave up two hits in seven innings. He had won three straight decisions and suffered his first loss since starting the season 0-5.
"I think I've been able to attack the hitters a little bit better and locate better (since the poor start)," said Richards, who did not allow a hit until Freddie Freeman singled with two outs in the sixth inning.
Back on May 4 in his previous outing against Atlanta, Richards gave up just two hits in 4 2/3 shutout innings. He remains winless in three career starts against the Braves.
Miami manager Don Mattingly was impressed with his starter, who needed only 15 pitches over the first two innings against the potent Atlanta lineup.
"I thought he did a really nice job with that club," Mattingly said. "It's all about us getting that key out or that key hit and today we just weren't able to do it."
The Marlins teamed up for an unusual play to get the last out in the third. Ozzie Albies was on second when Ronald Acuna Jr. hit a grounder that bounced off Anderson's glove at third base. But the ball caromed to Rojas, and he quickly tossed it back to Anderson to tag out Albies.
THE NEW GUY
Freddie Freeman is thrilled over newly signed LHP Dallas Keuchel. Freeman called the addition "a huge boost for our team ... It's pretty evident that our front office wants to win and so do we."
"It seemed pretty petty," Mattingly said. "You never know three years (down the road) what that trade looks like," Mattingly said. "It wasn't like we were getting tricked; we knew what we were doing."
Albies shattered his bat in the seventh inning, and the barrel flying over the Braves' dugout at high speed before being stopped by the protective netting.
Braves: RHP Darren O'Day (right forearm strain) has been transferred to the 60-day injured list in a move to open a spot on the 40-man roster for Dallas Keuchel. The veteran O'Day has been sidelined since suffering the injury while making his spring debut on March 1.
Marlins: RHP Julian Fernandez has been shut down from throwing after recently experiencing right elbow discomfort as he continues to recover from Tommy John surgery back in April of 2018. Fernandez had been participating in live batting practice prior to the latest setback.
Braves: LHP Max Fried (7-3, 3.68) did not face Miami last season and is making his first start against the Marlins in 2019. He is coming off a rough outing in Pittsburgh where he surrendered all five runs on nine hits in four innings.
Marlins: RHP Pablo Lopez (4-5, 4.52) last went up against Atlanta on May 5 in Miami and, in a 3-1 loss, posted six shutout innings while allowing only three hits. He is 2-1 overall with a 1.84 ERA at home.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
Beaty's 3-run HR helps Dodgers recover to beat Marlins 10-6
Matt Beaty broke an eighth-inning tie with a three-run homer and the Los Angeles Dodgers recovered to beat the Miami Marlins 10-6 on Saturday night after blowing a six-run lead.
Kershaw fans 10, hits RBI single in Dodgers' win
Clayton Kershaw strikes out 10 batters over six scoreless innings and hits an RBI single as the Dodgers defeat the Marlins.
Trout smashes 3-run homer in Angels' win
In the top of the ninth inning, Mike Trout crushes a 416-foot, three-run home run to give the Angels a 6-2 lead over the Mariners.
Moustakas homers, Brewers rally to beat Diamondbacks 8-3
Mike Moustakas hit a three-run homer in the eighth inning and the Milwaukee Brewers scored six runs after Zack Greinke left to beat the Diamondbacks 8-3 Saturday night.
Davis' 2-out, 2-run single in 9th lifts A's over Twins 5-4
Khris Davis lined a two-out, two-run single off the glove of diving first baseman Ehire Adrianza in the ninth inning and the Oakland Athletics won again, beating the Minnesota Twins 5-4 Saturday night.
Red Sox blast 5 homers in blowout win over Orioles
Jackie Bradley Jr. crushes two 3-run home runs, and Rafael Devers, Mookie Betts and Sandy Leon also go deep as the Red Sox beat the Orioles 17-6.