天一亮,伊维尔就开始在卡普山战斗。李骑马来到朗斯特里特的总部,却发现朗斯特里特误解了他的命令。他正计划对联邦左翼进行一次转折运动。现在,在没有希望进行协调进攻的情况下,李改变了计划。朗斯特里特要攻击公墓岭上的联邦中心。伊维尔的部队反击失败,被迫在上午11点左右从库尔普山撤退,李把所有的希望都寄托在朗斯特里特对中心的攻击上。朗斯特里特拥有李军中最后一个新师。它由三个旅组成,由詹姆斯-L-肯伯将军、理查德-B-加内特将军和刘易斯-A-阿米斯蒂德将军指挥,由皮克特率领。
大炮
首先,下令用约140门联邦大炮对联军防线进行轰炸。轰炸大约在下午1点开始,大约80门联军大炮进行了还击。大炮对决持续了1到2个小时,这取决于消息来源(大多数人说大约1小时)。南军炮兵总指挥爱德华-波特-亚历山大将军本来只打算持续25分钟左右。但他后来意识到这对联邦军的防线没有造成什么伤害,所以他继续进行。但他也不得不担心弹药耗尽,没有足够的弹药来支持皮克特将要进行的冲锋。当联军的枪炮安静下来的时候,波特以为自己已经把他们打倒了。但这是联军炮兵主管的一个诡计。他的火炮正在等待联军知道的冲锋。亚历山大给皮克特发了消息,他可以开始进攻了。
炮声远在费城就能听到。声音非常大,炮手的耳朵都快听出血来了。这可能是当时为止北美大陆上听到的最响的噪音。最后,在后来被称为"血角"的地区,南方联盟的大炮可能杀死了多达200名联盟士兵。但联邦炮可能杀死了更多的联邦军。
皮克特冲锋队
把邦联对联邦中心的攻击称为"皮克特的冲锋"是有误导性的,原因有二。首先,皮克特只指挥了攻击中的三支部队中的一支。第二,这不是一次冲锋,冲锋是向敌人快速推进,它是一次攻击,前进的速度比较慢,距离比较远。这些弗吉尼亚部队还有几支规模较小的联邦军部队(有的来自北卡罗来纳州、田纳西州和阿拉巴马州),他们的人数因前两天的战斗而减少。当大炮停止后,皮克特去找朗斯特里特请求允许开始进攻。朗斯特里特确信进攻会失败,默默地点了点头,挥了挥手。朗斯特里特曾试图让李叫停进攻,但李不听。
超过12,000名联邦军从树丛中走出来,列队向前长征。在公墓岭上一道低矮的石栅栏后面等待他们的是大约5000名联军,其中大部分属于温菲尔德-斯科特-汉考克将军的第二军团。根据消息来源,这是在下午2点到3点之间,当他们在1英里(1.6公里)的距离上前进时,联军的炮兵杀死了大量的部队。联军阵线上的步枪火力十分猛烈。联军使用了四条兵线。当前面的队伍开火时,他们就后退重新装填,而下一队则上前开火。只有几百名维吉尼亚人到达联军阵线。几分钟内,他们就死了或死了。一些人被俘。攻击持续了大约一个小时,有超过7000名南方联盟士兵被杀。当剩余的邦联军队撤退时,有人看到李骑着马说:"这都是我的错"。然后他告诉皮克特召集他的师。皮克特著名的回答是:"将军,我没有师。"
在主攻的同时,斯图亚特的骑兵也对联军后方进行了攻击,但攻击也失败了。