On March 30, 2014, Kottaras signed a minor league contract with the Cleveland Indians. He played in 9 games with the Triple-A Columbus Clippers before being added to the Indians' 40-man roster in time for the game on May 3, 2014. He was designated for assignment three days later. He was assigned to Columbus on May 11, and re-added to the Cleveland roster on May 27. Kottaras was the only player to hit two home runs in his first two plate appearances as a Cleveland Indian. On July 7, he was designated for assignment following the acquisition of Chris Dickerson.
Kottaras was claimed by the St. Louis Cardinals on July 11, 2014. On July 26, Kottaras was designated for assignment. He was released on July 29.
On August 6, 2014, Kottaras signed a minor league contract with the Toronto Blue Jays. He was activated by the Triple-A Buffalo Bisons on August 10. He was called up to the Blue Jays on September 1, when the rosters expanded. Kottaras made his debut for the Blue Jays on September 17, grounding out in his only at-bat against the Baltimore Orioles. He made his first start for Toronto on September 25, catching Daniel Norris in his first MLB start. Kottaras went 0–4 as a member of the Blue Jays, and finished the season with a .233 average, 3 home runs, and 5 RBI. He was sent outright to the Buffalo Bisons on October 3, but elected to become a free agent rather than accepting the assignment.
On December 18, 2014, Kottaras signed a minor league contract with the Chicago White Sox that included an invitation to spring training. He was released on August 3, 2015.