Goins did not make the 2015 Opening Day roster out of spring training, with Toronto opting to open the season with an eight-man bullpen. On April 16, he was recalled from Buffalo after Todd Redmond was designated for assignment. Goins became the starting shortstop on April 28, as José Reyes was placed on the disabled list with a cracked rib. After Reyes returned from the disabled list on May 25, Goins remained with the Blue Jays as a utility infielder. On July 26, he became the starting second baseman due to an injury to Devon Travis. It was at this time that Blue Jays' hitting coach, Brook Jacoby, made a change to Goins' batting stance. Rather than hold the bat above his shoulder while awaiting a pitch, Jacoby had Goins lower the bat and rest it on his shoulder before swinging. The change paid immediate dividends, as Goins experienced the most productive month of his career, batting .314 with two home runs, 16 walks, and an .885 on-base plus slugging (OPS) in August. On September 1, Goins hit a two-run walk-off home run in the 10th inning to defeat the Cleveland Indians 5–3. Goins would record the first five-hit game for a shortstop in franchise history on September 30, aiding the Blue Jays to a division-clinching 15–2 victory over the Baltimore Orioles. Goins played in a career-high 128 games in the 2015 regular season, and batted .250 with five home runs and 45 RBI. He played in all five games of the 2015 American League Division Series, and went hitless in 17 at-bats. In game 3 of the 2015 American League Championship Series against the Kansas City Royals, Goins hit his first postseason home run, drove in three runs and scored twice to help Toronto to an 11–8 win.