Chicago snapped a four-game losing streak while breaking the Rockies' winning streak after five games.
Colorado starter Drew Pomeranz took a 3-0 lead and no-hitter into the fifth but Alfonso Soriano and Wellington Castillo hit home runs that pulled the Cubs within 3-2.
Colorado kept the two-hitter intact until Brett Jackson led off the Chicago eighth with his second home run of the year and tied the score. After an out, Luis Valbuena doubled and Mather followed with an RBI single.
Mather later ended up on third after a Colorado error and scored on another error.
Matt Belisle (3-5), who allowed three hits and three runs in one-third of an inning, suffered the loss.
Dog comes home gnawing on human bone
Julius Randle breaks leg during NBA debut