Terwijl McClellan een aanval op de vijandelijke stellingen voorbereidde, werden de Noordelijken op 31 mei zelf aangevallen. Het Noordelijke leger was door de Chikahominy in tweeën gedeeld. Johnston hoopte de delen afzonderlijk te verslaan bij Seven Pines. McClellan had een aanval van malaria, maar zijn commandanten slaagden erin om de vijandelijke aanval af te slaan. Vanuit Washington kreeg McClellan kritiek omdat hij geen tegenaanval uitvoerde die misschien de weg naar Richmond kon openbreken. Johnston raakte tijdens de slag gewond en werd vervangen door Robert E. Lee. McClellan spendeerde de drie volgende weken om zijn troepen en stellingen te versterken. Lee maakte dankbaar gebruik van deze tijd om de versterkingen rond Richmond te verbeteren.