Overall in 2015, Shreve ended the season 6–2 with a 3.09 ERA in 59 game appearances. Shreve struggled to a 5.21 ERA in his first 19 appearances to begin 2016. On May 26, 2016, he was placed on the 15-day disabled list due to a left shoulder strain. On August 30, Shreve earned his first Major League save in 5–4 ten-inning win over the Kansas City Royals. In 2017, Shreve spent the first half of the season between AAA and the Yankees bullpen. Through his first 29 appearances, he collected a 2.77 ERA before being sent back down to Class AAA on July 19 after the acquisition of David Robertson and Tommy Kahnle. The Yankees recalled Shreve on July 30. On July 27, 2018, the Yankees traded Shreve and Giovanny Gallegos to the St. Louis Cardinals for Luke Voit and bonus pool money. In 39 games for the Yankees, he had compiled a 2–2 record with a 4.26 ERA. Shreve finished his 2018 campaign in St. Louis with a 1–2 record and a 3.07 ERA in 20 relief appearances. On March 22, 2019, Shreve was designated for assignment by the team. He was outrighted on March 27 and assigned to the Memphis Redbirds of the Class AAA Pacific Coast League. He was recalled to St. Louis for the first time in 2019 on July 11, but designated for assignment once again on July 23. Shreve elected free agency on October 1, 2019. On November 21, 2019, Shreve signed a minor league contract with the New York Mets.