Hanson (1-0) struggled in his second major league start but managed to limit the Orioles to two runs despite yielding nine hits and five walks. The 22-year-old right-hander insisted all was well.
"I felt comfortable out there the whole game," Hanson said.
As Hanson began his postgame interview, Moylan ran at him, smashed him in the face with the shaving cream and escaped. Hanson didn't mind in the least.
"He came in and got the big out. I'll take it," he said with a laugh.
Atlanta pushed across a run in the seventh and two more in the eighth to break it open. Jeff Francoeur made it 5-2 with an RBI single. Martin Prado hit his third homer and McCann singled in a run in the eighth.
It was McCann's third career four-hit game and first since Aug. 27, 2006 -- and he was more excited about Hanson's effort.
"He looked great. He didn't have his best stuff tonight," said McCann, who had never caught the rookie before - not even in spring training or the bullpen. "His composure is not of a guy who's in his second start."
Jason Berken (1-3) allowed four runs and eight hits in 4 1/3 innings for Baltimore, which has lost 10 of 12.
The Orioles continued to have difficulty scoring. They left 13 on base and have scored just 19 runs in the past 11 games.
"How many did I leave on base?" Jones said. "I left too many on base. We all left too many on base."
After manager Dave Trembley called a team meeting to encourage the Orioles, they came out aggressively. Trailing 2-0 in the bottom of the first, Brian Roberts doubled on Hanson's first pitch, stole third and scored on Jones' grounder.
Aubrey Huff added an RBI single in the third for Baltimore.
"We needed a two-out hit or one hit to break it open," Trembley said. "In most cases if you get 12 hits, you're going to get more than two runs -- so something doesn't add up there."
Yunel Escobar hit a two-run shot in the first to give Atlanta a 2-0 lead.
- Hanson allowed six earned runs in six innings against Milwaukee in his first start Sunday.
- Atlanta 1B Casey Kotchman, who has been on the 15-day disabled list since June 1 with a strained right calf, will start a rehab assignment at Triple-A Gwinnett on Saturday.
- Chipper Jones, who was Atlanta's DH, was hitless for the third straight game for the first time since July 7-9, 2008.
- Orioles RF Nick Markakis recorded his AL-leading sixth assist.
- Baltimore's Luke Scott played the ninth inning at 1B for the first time in his career.