On July 31, 2014, the Marlins traded Marisnick, Colin Moran, Francis Martes, and a compensatory draft pick to the Houston Astros for Jarred Cosart, Enrique Hernández, and Austin Wates. Marisnick played in 51 games for the Astros in 2014, compiling a batting average of.272 with 3 home runs, 19 RBI, and 6 stolen bases. He also displayed strong defense while playing the outfield, with a fielding percentage of.984 and a range factor of 2.57. He made his first opening day MLB start for the Astros on April 6, 2015. He finished the 2015 season with an average of.236 and OPS of.665 over 133 games and 339 at bats. After a slow start to the 2016 season he was optioned to the Triple-A affiliate of the Astros, the Fresno Grizzlies of the Pacific Coast League, on April 25, 2016. Marisnick was recalled by the Houston Astros on May 5, 2016. After former Astros center fielder Carlos Gómez was designated for assignment, Marisnick and Tony Kemp began sharing center field duties in his place. In 106 games of 2017, Marisnick finished with a.243 batting average, 16 home runs, and 35 RBIs. With the Astros finishing the year 101–61, the team clinched the AL West pennant, and eventually won the 2017 World Series, their first ever. Marisnick did not participate in any postseason action due to injury, but was still on the 40-man roster at the time, and won his first championship title. On July 7, 2018, he was sent down to AAA for the second time in the season, after struggling at the plate. In 2018 with Houston he batted.211/.275/.399. On July 7, 2019, while trying to score on a fly out, Marisnick collided with catcher Jonathan Lucroy of the Los Angeles Angels at home plate and was called out for violating Official Baseball Rule 6.01. Lucroy had a concussion and a broken nose as a result of the collision, and Marisnick was suspended for two games for the violation, although the collision was deemed unintentional. On July 18, 2019, at an away game against the Angels, Marisnick was hit by a pitch by Angels reliever Noé Ramirez in the high back, though the pitch was going for his head. Marisnick did not charge the mound or retaliate but went to 1st base. At first base first basemanAlbert Pujols had an argument with the angered Astros dugout. Ramirez and Angels manager Brad Ausmus were suspended, Ramirez for three games and Ausmus for one. On July 29 it was announced that Marisnick had lost his appeal for his two-game suspension. In 2019 he batted.233/.289/.411 with 10 home runs and 34 RBIs in 292 at bats.
New York Mets
On December 5, 2019, Marisnick was traded to the New York Mets in exchange for left-handed pitcher Blake Taylor and outfielder Kenedy Corona.