Clayton Richard pitched eight sparkling innings, Cameron Maybin drove in three runs and the San Diego Padres snapped a five-game losing streak with a 7-1 win over the San Francisco Giants on Sunday.