On December 31, 2014, Byrd was traded to the Cincinnati Reds for starting pitcher Ben Lively. As of May 14, 2015 Byrd was hitting .342 with six home runs and 14 RBIs in the month of May. He reached 19 home runs before being traded to the San Francisco Giants. On August 20, 2015, Byrd was traded to the San Francisco Giants for Double-A reliever Stephen Johnson. He hit a home run on his first at-bat with the Giants on August 21, 2015 against the Pittsburgh Pirates. Byrd hit the Giants' record-breaking 8th grand slam of the season against the Cardinals on August 28, against Michael Wacha. This was Byrd's first career hit against Wacha, and it was Wacha's first grand-slam given up. In 2015, he batted .247/.290/.453, and swung at 60.5% of all pitches he saw, tops in the major leagues. After becoming a free agent following the 2015 season, Byrd signed a minor-league contract with the Cleveland Indians on March 18, 2016 with an invitation to major-league spring training camp. The Indians purchased his contract and added him to the active roster on April 3. In 34 games, he hit .270 with 5 HR and 19 RBI before being suspended. On June 1, 2016, Byrd was suspended 162 games for his second positive PED test. The day his suspension started, he told his teammates that his career was over.