Brendan Keys had two hits and an RBI, and Sean Reilly drove in the other run. Josh Garton added two hits.
Edwin Javier (4-4) picked up the win after throwing two hitless innings with a walk and three strikeouts.
Yunior Yambatis started and went 10 innings, giving up two runs on two hits with a walk and eight strikeouts.
Andy Leader and Mike Andrulis drove in Kitchener's runs.
Miguel Lahera (3-2) took the loss, allowing a run on one hit and two walks and a strikeout in one-third of an inning.
Kitchener starter Noelvis Entenza went seven innings and allowed two runs on six hits with two walks and three strikeouts.
Guelph improved to 8-15, and Kitchener dropped to 15-7.