The Braves, so mighty in June, began July with a dud.

Returning home from a 6-4 road trip, the Braves were suppressed by Aaron Nola and the Phillies 2-0 on Tuesday in front of a crowd exceeding 40,000. Their unstoppable offense appeared left behind.

Dallas Keuchel came up empty in his first home start and best outing as a Brave. The lefty went seven innings, allowing two runs that came on one swing. In most instances, that’d be enough for a team hitting as well as the Braves. Yet against this version of Nola, who pitched eight scoreless frames, it was not.

“It was one of those days we couldn’t get anything going against a really good pitcher,” first baseman Freddie Freeman said. “Sometimes the best pitchers shut down good offenses.”

Consider the team’s past four weeks: The Braves went 20-8, slamming a club-record 56 homers for the month. It was their best month since Aug. 2013 and continued the team’s success since altering its lineup in early May.

That high-octane machine broke down against Nola, who’s looked much more like an ace over his past three starts. The bats generated just three hits. Three times the Braves got a runner on second base. None reached third.

It was the second time this season the Braves were held scoreless. The other came May 7 against the Dodgers, when Hyun-Jin Ryu, the Cy Young favorite, tossed at shutout at Chavez Ravine. The Braves have only been held to four or fewer hits in six games.

Sometimes, as manager Brian Snitker and his players often say, you just have to tip your cap to the other guy. Nola entered the night with a 2.46 ERA in 14 starts against the Braves. This was perhaps his best performance.

“He didn’t make any mistakes,” Snitker said. “He was really, really good. He looked like his old self.”

Catcher Brian McCann added: “Nola was locked in. That was a pitcher’s duel. It was one pitch (that hurt Keuchel). Tonight was the best I’ve seen Nola.”

McCann began the fifth with a single and advanced to second on an error. Ozzie Albies flew out. Keuchel and Ronald Acuna struck out. A Josh Donaldson walk and Nick Markakis single positioned the Braves with two outs in the ensuing inning, but Austin Riley flew out to cease the threat.

That was all the offense mustered off Nola. Keuchel was tasked with being equally dominant, and Jay Bruce’s two-run double in the fourth wiped out his ability to match Nola. Nonetheless, he drew praise from Snitker and his teammates. Keuchel said it was his best start with the Braves.

“I’m not accustomed to five (innings) and dive, so it didn’t sit too well with me those first two innings,” Keuchel said. “You can say that while I missed three months of action, I don’t make excuses. I’m ready to go. I made a few bad pitches here or there. One pitch (to Bruce) got me tonight. But I was able to get through seven. Seven is the benchmark for me. I don’t feel whole unless it’s seven-plus. That’s what I strive for every time out.”

The Braves, carrying the National League’s second-best record, can consider Keuchel’s start a moral victory of sorts. More of what he showed Tuesday is going to result in wins. It was especially encouraging how Keuchel improved as the game when on, something he attributed to building momentum through his own exhaustion.

“I think I was getting a little tired and that really helps me out,” he said. “I’m a feel guy, and the feel hasn’t quite been there as a whole. So maybe I need to be a little bit more exhausted through the first couple innings. I’m pretty competitive and come out the gate fiery. It doesn’t look like that, but I am on the inside. Maybe I do need to build up a little more when it comes to getting through the first three or four innings.

Bryse Wilson, who filled the rotation void left by Mike Foltynewicz’s demotion, will make his third start of the season for the Braves Wednesday against the Phillies’ Nick Pivetta.