Cardinals beat Padres 6-3 for 3-game sweep