The Angels led 6-0 in the first inning but allowed the Orioles to tie the game before hanging on to avoid a sweep in the weekend series, an experience Maddon compared to "a root canal."
"It wasn't necessarily pleasurable. It started out well but then we just couldn't get that hit," Maddon said. "They kept fighting back, but we hung in there until the very end."
The Angels drew nine walks off six Baltimore pitchers and were hit by pitches twice, but the rebuilding Orioles hung tough.
"They definitely came in and opened some eyes this series," Adell said. "But I'm glad we were able to avoid that full sweep and kind of get back on the winning side of things and keep it rolling."
Adell was a late addition to the lineup after Brandon Marsh was scratched with a stomach bug. He greeted reliever Travis Lakins Sr. with his second career slam to make it 6-0 before the Orioles recorded an out.
Lakins got the next nine outs without allowing a hit, and Keegan Akin followed with two scoreless innings, giving Baltimore an opportunity to rally.
"I'm really happy with what we did being down 6-0. We got a couple of big homers that we haven't had, which was nice," Orioles manager Brandon Hyde said.
Ohtani led off the bottom of the seventh with a single off Mike Baumann (1-2), who then loaded the bases with a walk and a hit batter. Taylor Ward worked a full count against Félix Bautista before drawing a walk on the ninth pitch of the at-bat.
Ward, who had three walks, said he decided not to swing at Bautista's last pitch based on his throwing pattern. Bautista's 98 mph fastball hit the inside corner but was just high.
"He could have piped it right down the middle and I would have let it go," Ward said. "When you're in the box, sometimes you have like these feelings, like OK, I'm going to get a fastball here or the chances that he throws another strike are probably very slim. With that guy, I just felt that. I know the game is on the line. It is what it is. Roll the dice."
Jimmy Herget worked a scoreless eighth before Mancini started the ninth with a single. Archie Bradley came on to strike out Anthony Santander and induce a double-play grounder from Mountcastle to secure his first save with the Angels.
Baltimore starter Chris Ellis faced five batters - walking three, hitting one with a pitch and allowing a two-run single to Jared Walsh - before departing with right shoulder discomfort. He was charged with five runs as the Angels scored six times in the first inning for the second time in four games.
"You could tell something wasn't right kind of early there. I thought the right thing to do is get him out of the game," Hyde said.
Adell drove a down-and-away cutter from Lakins over the wall in right-center for his grand slam. He is 7 for 19 during a five-game hitting streak. The 23-year-old outfielder went 0 for 9 in LA's season-opening series against Houston but has hits in nine of his last 11 games, including three homers.
"As crazy as it sounds, the pitches that are away-plus are actually something that I hit pretty well. That's why I made the attempt on it," Adell said.
Ohtani went 2 for 4 with a walk after going 0 for 8 with five strikeouts in the first two games against Baltimore. The AL MVP raised his batting average 18 points to .224.
Angels left-hander José Suarez has made three starts and worked 4 1/3 innings in each. He allowed three runs on four hits and struck out six.
Angels: 2B David Fletcher (left hip strain) has been medically cleared to return. Fletcher played nine innings Sunday in his third game of a rehab assignment with Triple-A Salt Lake.
Orioles: Begin a three-game series in New York against the Yankees Monday night. RHP Jordan Lyles (1-1, 3.52 ERA) has given up one earned run in 10 1/3 innings over his last two starts.
Angels: Continue their homestand with four games against Cleveland. RHP Michael Lorenzen (1-1, 4.82 ERA) gets the call Monday night.