בקיץ 1863, לי פלש לצפון בשנית. ב-15 ביוני, שלושה קורפוסים תחת פיקודו של לי חצו את נהר הפוטומק וב-28 ביוני הם הגיעו לנהר סוסקהאנה בפנסילבניה. בעוד לי איבד מזמנו היקר בהמתנה למודיעין על עמדות כוחות האיחוד ממפקד הפרשים סטיוארט, מרגל של הקונפדרציה בשורות האיחוד הודיע לו על כך שכוחותיו של מיד קרובים לאזור. דרך ניצול מוצלח של הכבישים המקומיים העיקריים, המתכנסים בנוחות למושב המרכזי של המחוז, לי הורה על תנועת צבאו להתעמתות חזיתית מול ארמיית הפוטומק של מיד בקרב גטיסברג. מוקדם בבוקר 1 ביולי התקדמה דיוויזיה של הקונפדרציה בפיקוד הנרי הית' לעבר גטיסברג להשתלט על קווי אספקה. בהתקשרות לא מתוכננת נפגשו אנשיו של הית' בכוחות האיחוד בפיקודו של בריגדיר גנרל ג'ון בופורד אשר צלחו בהאטת התקדמות הקונפדרציה עד להגעת תגבורת חי"ר מצד יחידות נוספות של ארמיית הפוטומק. גנרל האיחוד ריינולדס נהרג במהלך הקרב. עד מהרה תגבורת הקונפדרציה תחת הגנרלים היל וריצ'רד איוול הגיעו למקום. בשעות אחר הצהריים המאוחרות, 30,000 חיילי קונפדרציה הניעו באיטיות 20,000 חיילי איחוד לעבר העיר גטיסברג עצמה בעוד כוחות איחוד נוספים ביצרו את בית הקברות מדרום לעיר.
ביום השני של הקרב (2 ביולי), כוחות האיחוד התארגנו במגננה על טווח גבעות ורכסים בצורת וו דייגים מדרום לגטיסברג עצמה, אשר הפכה לשדה קרב. הקונפדרציות עוטפות את עמדת האיחוד בתור ארוך יותר. באותו אחר הצהריים לי הורה על פתיחתה של מתקפה כבדה בפיקודו של לונגסטריט על אגף השמאל של האיחוד. לחימה עזה השתוללה בין הכוחות במאורת השטן, בסבב הקטן, בוויטפילד, בפרדס האפרסק ובבית הקברות, כאשר אנשיו של לונגסטריט התקרבו לעמדות האיחוד. באמצעות קווי הפנים הקצרים יותר, מפקד קורפוס הפוטומק השני, הגנרל וינפילד סקוט הנקוק ואחרים העבירו תגבורת במהירות כדי להקשות ולהאט את התקדמות כוחות הקונפדרציה. באגף הימני של מערך האיחוד, כוחות הקונפדרציה הוציאו לפועל מתקפות רחבות היקף בגבעת הקברות המזרחית ובגבעת קולפס במטרה לשבור את מערך ההגנה של האיחוד. אף על פי שחיילי הקונפדרציה הצליחו לאחוז בפרצות משני קצוות הקו, מגיני האיחוד החזיקו בעמדות יציבות עם רדת החשכה.
ב-3 ביולי, באמונה כי אויבו נחלש, לי פעל לנצל את הרווחים האסטרטגים של היום הקודם עם התקפות מחודשות על קו האיחוד כדי ליצור פרצות נוספות בתוכו. הלחימה הכבדה התחדשה בגבעת קולפס כשכוחות האיחוד ניסו לכבוש מחדש את השטחים שאבדו עוד ביום הקודם. קרבות הפרשים התקיימו במרץ מזרחה ודרומה, אך האירוע המרכזי היה מתקפה חזיתית דרמטית של 12,500 חיילי קונפדרציה בפיקוד לונגסטריט נגד מרכז עמדות קו ההגנה של האיחוד ברכס הגבעות ממערב לבית העלמין. מחצית מהכוחות התוקפים הורכבו מבריגדת הרגלים מצפון וירג'יניה בפיקודו של גנרל פיקט. פיקט, שקידם הוראות מצידו של לי לקדם את חלוקתו כוחותיו לעבר האויב דרך קילומטר של אדמות חקלאיות לא מוגנות, סירב להיענות לפקודות של לי והפר אותן. בדומה למרחץ הדמים של הכוחות האיחוד בקרב פרדריקסבורג, מהלך הפוך התרחש במהלך גטיסברג כאשר הארטילריה והירי הכבד של כוחות האיחוד קטלו את כוחות הקונפדרציה הנעים על גבי שדה פתוח ולא אפשר להם להגיע לקו ההגנה של מערך האיחוד. באחר הצהריים של אותו היום הורה לי על הכוחות לסגת בהבנה כי אין ביכולתו לנצח בקרב ולהמשיך לנוע לוושינגטון.
החלטתו של לי לפרוץ במתקפה חזיתית על מרכז קו הצפון הסתיימה באבידות כבדות. לי נסוג בשנית ושוב, כמו לאחר הקרב באנטיאטם, לא נרדף על ידי כוחות הצפון. על ג'ורג' מיד הוטלה מאוחר יותר ביקורת חריפה על התנהלותו שלא נע אחרי לי וכוחותיו הנסוגים. את הפסד הקונפדרציה בקרב ניתן לקשר למספר גורמים, רובם מקושרים אל לי עצמו. ראשית היה לי במצב בריאותי מעורער וייתכן שסבל מתעוקת לב. במכתב לנשיא ג'פרסון דייוויס הביע לי תשישות וקהות חושים שגרמה לכך שנעזר באחרים עבור התמצאות במצב בשדה הקרב. על לי היה להתמודד עם בעיות משמעת מצד חלק ממפקדי הקורפוסים שהיו קודם לכן תחת פיקודו של ג'קסון. יתרה מההתעלמות המוחלטת של פיקט מהדרכתו הצבאית של לי, היו מפקדים שפירשו לא נכון את הפקודות של לי, נושא שהיה גורם נוסף להפסד בקרב. לי העריך בצורה שגויה את הערכותה של ארמיית הפוטומק לקרב ולא העריך נכונה את האסטרטגיה של ג'ורג' מיד. למעשה, לי נשען בהערכותיו הצבאיות על המערכות הקודמות. לאחר הפסדו בגטיסברג שלח לי מכתב התפטרות לנשיא הקונפדרציה, ג'פרסון דייוויס, ב-8 באוגוסט 1863, אך דייוויס סירב לבקשתו. ביקורת רבה הובעה על שיטות ההתקפה האגרסיביות של לי, שבהן נהרגו חיילים רבים. ביקורת זאת לא הופיעה מיידית לאחר הקרב אלא רק מאוחר יותר, שכן גם לאחר ההפסד עדיין הוערך כגנרל המוצלח בשירותה של הקונפדרציה.
מערכת אוברלנד מול גרנט.
ב-1864, המפקד הכללי החדש של כוחות הצפון בזירה המזרחית, הגנרל יוליסס סימפסון גרנט גמר אומר להשמיד את צבאו של לי ולכבוש את ריצ'מונד. לי ואנשיו עצרו את התקדמות הצפון, אך בעזרת תגבורותיו הצליח גרנט להתקדם אט-אט לכיוון דרום מזרח. הקזת הדמים במהלך קרב השממה, שבמהלכו שום צד לא יכול היה לתבוע ניצחון, סימנה את השלב הראשון במתקפה הגדולה של האיחוד לעבר ריצ'מונד, באביב 1864. גרנט היה מודע להפרש אדיר בכמות החיילים של הצבאות לטובת האיחוד ולכן לא נסוג, בשונה מקודמיו, גם במרחצי דמים כואבים לשני הצדדים. לאחר יומיים של לחימה בשממה, שני הצבאות היו באותו המקום בו שהו בתחילת הקרב. צבא האיחוד ספג יותר מ-17,500 הרוגים במשך 48 שעות, אלפים יותר משיעור המתים של חיילי הקונפדרציה. למרות אופיו היקר של הקרב, גרנט סירב להורות על נסיגה, לאחר שהבטיח לנשיא אברהם לינקולן כי ללא קשר לתוצאה, הוא לא יעצור את התקדמות צבא האיחוד.
בלילה של 7 במאי, שעות לאחר סיום הלחימה בשממה, החל גרנט להזיז את צבאו קדימה כדי לחדש את התקדמותו. הוא כיוון להוליך את כוחותיו על פרשת הדרכים בספוטסילבניה ולחתוך בין צבאו של לי לריצ'מונד. לי צפה את המהלך הזה והגיב במהירות. לאחר השגת מודיעין מהפרשים ב-8 במאי, לי הורה לחייליו לחפור קו ביצורי שדה באורך של כ-6 ק"מ מצפון לספוטסילבניה. לאחר התכתשויות ראשונות, כוחות האיחוד תקפו דרך פרצה בקו הביצורים של הקונפדרציה ב-10 במאי. תקיפתם של הכוחות הנחושים שהסתערו בריצה חדרה את קווי ההגנה של הקונפדרציה, אך חיילי האיחוד הונעו בחזרה על ידי מתקפת נגד שארגן לי בסוף אותו היום. כשגרנט העביר את כוחותיו לקראת תקיפה נוספת, לי לא העריך בצורה נכונה את פעילות האיחוד והניע קדימה את הארטילריה שלו לפגוש תמרון איגוף פוטנציאלי. כתוצאה מכך, התקפתו של גרנט ב-12 במאי זכתה בתחילה להצלחה מוחלטת, ופרצה את קווי הקונפדרציה לפני שלי מיהר להורות לחייליו לנוע כדי לסתום את הפער. הקרב השתולל אל תוך הלילה, כוח האש העז של שני הצדדים שיטח את הנוף כשחיילים עסקו בלחימה פנים מול פנים בעמדה שנודעה לשמצה בשם "זווית הדמים". בשעות המוקדמות של 13 במאי השלימו אנשיו של לי בניית תעלת ביצורים חדשה ונסוגו אליה. מתקפת האיחוד על קו חדש זה ב-18 במאי נתקלה בירי ארטילרי כבד ולא השפיעה על הביצורים.
בעקבות השוויון בספוטסילבניה, גרנט היה נחוש להמשיך בקידום הכוחות של האיחוד בכל דרך אפשרית. גרנט מצא את כוחות הקונפדרציה מעוגנות בצידו הדרומי של נהר אנה הצפוני, שם הגנתו של לי אילצה את גרנט לחלק את כוחותיו לשלוש יחידות נפרדות. כוחות הקונפדרציה על גדות הנהר בפיקודו של הגנרל היל הגנו בתעוזה על מוצבם אך לא הצליחו להפיל את ראשי הגשר של האיחוד מעל הנהר. ב-24 במאי, נהדפה התקפה של בריגדה מהקורפוס התשיעי של האיחוד לעבר קצה קו הביצורים של הקונפדרציה באוקס-פורד. בנקודה זאת רוב צפון וירג'יניה נכבשה כבר בידי צבא האיחוד. לאחר יומיים של לחימה ללא תוצאה חד משמעית בין 28 במאי ל-30 במאי בנחל טוטופוטומוי, לי וגרנט הורו לכוחותיהם לנוע לכיוון קולד הארבור מדרום-מזרח. הדרכים הבוקעות בצומת קריטית זאת הובילו לריצ'מונד ולמקורות אספקה ​​של הקונפדרציה אך היו גם מקושרות לדרכי האספקה של האיחוד. פרשי האיחוד בפיקודו של פיליפ שרידן הונחו להשתלט במהרה על פרשת הדרכים האסטרטגית.
גרנט הימר על מאמץ צבאי אחרון כדי להשתלט על ריצ'מונד. התכתשויות קלות שגררו אחריהן עיכובים בהתקדמות האיחוד החלו ב-31 במאי, אך ההתקפה העיקרית של צבא האיחוד התרחשה ב-3 ביוני, כאשר גרנט פתח בתקיפה חזיתית על מערך ההגנה של הקונפדרציה. גרנט הניח שאנשיו של לי נמתחו יתר על המידה בקו ההגנה הארוך, אך לי ניצל את האיחור במתקפה של גרנט כדי להביא תגבורת ולשפר את מערכת הביצורים שלו. התוצאה של הכנותיו הייתה קטל של כוחות האיחוד בעת תנועתם לעבר קולד הארבור; כוחות האיחוד המתקדמים נפלו במהרה, כאשר אלה שעברו את קו ההגנה הראשון נפלו תוך זמן קצר אל מול קו ההגנה השני של הקונפדרציה. למעלה מ-7,000 חיילי האיחוד נהרגו או נפצעו שעה אחת לפני שגרנט עצר את ההתקפה. במשך מספר ימים נפלו חיילים בשדה פתוח וגופות נרקבו מתחת לשמש הקיצית היוקדת. לאחר פרק זמן טרגי של עיכובים ואי הבנות, גרנט ולי ניהלו סוף סוף משא ומתן להפסקת אש זמנית לטובת פינוי הרוגים ופצועים מאמצע שדה הקרב. עבור מרבית החיילים הפצועים ששכבו בין הצבאות, ההפוגה הגיעה מאוחר מדי.