Mitch Keller allowed one run in six innings and the Pittsburgh Pirates scored five times in the seventh to rout the San Diego Padres 7-1 on Wednesday night.