The Twins are looking for someone to step up and join Ervin Santana and Jose Berrios as a reliable arm in the rotation.

Maybe they should be looking for someone to pitch like Adalberto Mejia.

Mejia has been the best thing going for Twins starters of late, as he showed again Monday night in beating the Angels 9-5 at Target Field. The lefthander has won his past three starts, an achievement that Santana or Berrios can't boast right now.

Mejia went seven innings to match a career high. He is the first Twins pitcher since Berrios on June 21 — 13 games ago — to go that deep into a game. The last Twin other than Santana or Berrios to pitch at least seven innings? That would be Mejia, on May 21 vs. Kansas City — 42 games ago.

Joe Mauer and Max Kepler homered for the Twins, with Kepler's blast part of a four-hit night. An announced crowd of 36,182, Target Field's largest since Opening Day, was on hand for the game and the fireworks show afterward.

Mejia (4-3) gave up three runs on nine hits and a walk with strikeouts. With a five-run lead, Twins manager Paul Molitor sent Mejia out for the seventh inning having thrown 90 pitches. Luis Valbuena greeted him with a first-pitch home run, but Mejia got the next three outs.

"It feels good to be able to hold a team like that," Mejia said. "I've been trying to go this far in the games, and little by little it's been happening."

Molitor knows he won't manage meaningful games during the second half of the season if there's a dropoff from his rotation after Santana and Berrios. If Mejia is going to step up as the No. 3 starter, the rookie has to continue to work on finishing off hitters.

For instance, he faced only three batters in the third inning, but he needed 18 pitches to get through it. He threw 21 pitches in the fourth, pitching out of trouble after the first three Angels got hits to cut the Twins' lead to 4-2. Mejia should be aiming for more innings like the second, when he threw only eight pitches, or the fifth, when he threw 11.

Mejia, 24, had scoreless outings in each of his previous two starts, but he needed 104 pitches to get through five innings at Cleveland and 101 in 5⅔ innings at Boston.

"He is facing good teams and he has held down some pretty good lineups," Molitor said. "I just think he's starting to trust that his stuff can play up here.

"It's nice that he's using all of his pitches."

The Twins gave Mejia a 3-0 lead in the second inning by working over former Twins righthander Alex Meyer. With runners on first and third, Meyer was called for a balk, scoring the game's first run. His next pitch was hammered by Mauer into the bullpens in left center for a two-run homer.

Kepler hit an RBI double in the third and added a solo homer in the fifth, and Sano, who will join Santana at the All-Star Game next week in Miami, added a two-run double in the sixth for a 7-2 Twins lead.

The Angels pulled within 7-5 when Martin Maldonado hit a two-run homer off Tyler Duffey in the eighth, but the Twins got the two runs back in the bottom of the inning and Brandon Kintzler closed it out.

Mejia helped get the Twins' homestand off to a winning start after they lost six of eight to go 5-6 on their recent road trip. Now they look to finish strong before the All-Star break.

"We needed a little pick-me-up there," Molitor said, "and he gave it to us."