Houston's only offense came in the third, thanks to Jose Altuve's RBI single and an error. Other than that, the Astros were held in check by four pitchers.
"We had a good streak offensively where we were scoring a lot of runs and swinging the bats well but we've had a couple of games here where we haven't swung the bats well," Porter said.
The offense struggled Friday night before scoring four unearned runs in the ninth, including a three-run homer by Jon Singleton, for a 5-1 win.
"We have faith in our guys," Porter said. "They'll start swinging the bats, and things are going to turn around."
The Astros are 5-4 on their 10-game road trip that ends Sunday. Houston won two of three in Yankee Stadium and have split two games with the Indians.
Houston was in a position to beat Cleveland for the second straight night until Buchanan (1-3) ran into problems in the ninth. The right-hander gave up a leadoff single to pinch-hitter Tyler Holt.
"That first batter, he's kind of an ambush hitter," Buchanan said. "The scouting report said he swings at 50 percent of first pitches, and I threw him a fastball down the middle. It kind of went downhill from there."
Buchanan challenged Ramirez rather than face Michael Brantley with the bases loaded.
"I didn't want to walk him with probably their best batter on deck," Buchanan said. "He kind of committed to the outside fastball and went down and got it."
Cody Allen (5-3) struck out two in a perfect ninth.
Jake Marisnick's one-out single and a two-out walk to Robbie Grossman set up Houston's third inning.
Dickerson charged Altuve's hit in right field and tried to get Marisnick at home, but his throw skipped past Perez and rolled toward Cleveland's dugout. Pitcher Danny Salazar failed to back up the play, and Grossman scored before the ball could be retrieved.
Altuve, who leads the AL in hitting, broke an 0-for-9 slump with his single. He is 3 for 22 in five career games at Progressive Field.
Astros starter Collin McHugh allowed two runs in 5 1-3 innings.
LIKES HIS STYLE
Altuve, who is listed as 5-foot-6, leads the AL in batting (.333), hits (176) and stolen bases (46). "Whatever Altuve is doing, keep doing it, and if you can, you can find me 12 more and I'll figure out where they're going to play," Porter said. "They can be the same size. Find me 12 more. I'll play nine and put three on the bench."
Marisnick ended Cleveland's threat in the second when he threw out Lonnie Chisenhall going from first to third on a hit to right field.
Astros: Porter isn't sure if RHP Brad Peacock (sore forearm) will make his next start. Peacock was removed Friday after five innings. His scheduled day to pitch is Wednesday against Oakland.
LHP Brett Oberholtzer (4-8) will make his third career appearance against the Indians. Houston has won six of his last seven starts.