HOUSTON – Baltimore manager Buck Showalter said after Saturday’s game against Houston that Nelson Cruz is in a good place.

Great or excellent would be more fitting adjectives to describe how the first-year Orioles star is playing.

Cruz hit his major league-leading 20th home run and drove in three runs to back a solid start by Chris Tillman, and the Orioles snapped a four-game skid with a 4-1 win over the Astros.

“Nelson is letting the ball travel and letting it get deep,” Showalter said. “He’s come in with a reputation of being streaky and I don’t think I’ve ever seen him locked in for this long a period of time. A lot of guys at his age start figuring out who they are and learning from their mistakes through the years in more ways than one.”

Cruz was suspended 50 games last year while playing for the Texas Rangers as a result of Major League Baseball’s investigation into the Biogenesis drug scandal before signing a one-year deal with the Orioles this offseason.

He agreed with Showalter’s assessment of his recent play.

“I see the ball well,” he said. “Like I said before, it’s hard to be consistent for that long. I just take my routine and try to do it on a daily basis so I can stay more consistent.”

The loss ends a season-best seven-game winning streak for the Astros.

Tillman (5-2) allowed one run on four hits over 6 2/3 innings to bounce back after allowing 14 runs combined in his last two starts. Zach Britton pitched a scoreless ninth for his fourth save.

The Orioles took the lead when Dallas Keuchel (6-3) walked home two runs in the fifth and Cruz extended the lead to 4-1 with his solo shot to left-center off Jerome Williams in the eighth.

Cruz’s 52 RBIs lead the majors and are the most in team history at the end of May, surpassing the 50 RBIs Chris Davis had entering June last year.

Cruz, who also doubled on Saturday, has a 12-game hitting streak with six doubles, eight homers and 15 RBIs in that span.

He was pleased that the was able to get the offense going on Saturday after scoring just two runs in the previous two games combined.

“As a team we know we can score runs. No doubt,” he said. “We have top to bottom one of the best lineups in the league. So it was a matter of time [before] we came back and do what we were supposed to do. I think today was a great example.”

Keuchel allowed six hits and three runs with three walks in six innings to end a four-game winning streak. He was done in by his lack of control on Saturday after walking just one batter in his previous four starts combined. Keuchel was coming off two stellar outings where he posted a 1.02 ERA and was named AL player of the week.

“I just didn’t have a feel,” Keuchel said of the fifth inning. “Give them credit for laying off a few pitches. That’s a good team. I was lucky to get out of there with just three runs.”