בסך הכל 16 נבחרות שיחקו 31 משחקים בטורניר, כאשר משחק הפתיחה נערך בבזל שבשווייץ ומשחק הגמר נערך בווינה שבאוסטריה. הזוכה באליפות הייתה ספרד אחרי שגברה 0-1 בגמר על גרמניה משערו של פרננדו טורס.
בסך הכל הובקעו במשחקי היורו 77 שערים ב-31 משחקים (ממוצע של 2.48 שערים למשחק). הוועדה הטכנית של אופ"א בחרה בצ'אבי כשחקן המצטיין בטורניר.
הגרלת שלב המוקדמות של יורו 2008 נערכה במונטרה בשווייץ ב-27 בינואר 2006. שלב המוקדמות החל בספטמבר 2006, כמה חודשים לאחר מונדיאל 2006. אוסטריה ושווייץ העפילו ליורו אוטומטית כמארחות. פורמט המוקדמות שונה מאז המוקדמות הקודמות.
הנבחרות שסיימו במקום הראשון והשני מ-7 בתים העפילו אוטומטית לטורניר. משמע, לא היו משחקי פליי-אוף בין הקבוצות שמסיימות במקום השני. הבית הראשון כלל שמונה קבוצות, ויתר ששת הבתים כללו שבע.
שלב המוקדמות הסתיים ב-21 בנובמבר2007 והגרלת הבתים לעולות לטורניר נערכה ב-2 בדצמבר באותה שנה.
פורטוגל ניצחה את שני המשחקים הראשונים תוך שהיא כובשת חמישה שערים, והעפילה לרבע הגמר לאחר שהבטיחה את ראשות הבית.[1][2] המקום השני, ועימו הכרטיס לרבע הגמר, היה אמור להיות מוכרע במחזור השלישי במשחק בין צ'כיה לטורקיה, לאחר ששתיהן ניצחו את שווייץ והפסידו לפורטוגל. מכיוון ששתיהן צברו 3 נקודות, הבקיעו שני שערים וספגו שלושה שערים, תיקו במשחק ביניהן היה מוכרע בדו־קרב בעיטות עונשין, בפעם הראשונה אי פעם בשלב הבתים של היורו. במקביל, שווייץ הפסידה במחזור הפתיחה לצ'כיה,[3] ובמחזור השני התמודדה מול טורקיה. משחק זה זכה לכינוי "האמבט של בזל", משום שנערך כולו בגשם שוטף. במחצית הראשונה ניצלו השווייצרים המארחים את כר הדשא הרטוב ועלו ליתרון, אך במחצית השנייה התאוששו הטורקים וכבשו שני שערים, אחד מהם בתוך תוספת הזמן, וניצחו 2–1. עם הפסד זה הפכה שווייץ לנבחרת הראשונה שמודחת מהטורניר.[4]
במחזור האחרון, שווייץ, שהודחה מהטורניר, ניצחה במפתיע את פורטוגל, שכבר הבטיחה את המקום הראשון בבית. היה זה הניצחון הראשון של שווייץ באליפות אירופה בכדורגל.[5] טורקיה וצ'כיה התמודדו בקרב ישיר על המקום השני, הצ'כים היו כבר ביתרון כפול, אך ארדה טוראן צימק בדקה ה־75 וטעות קשה של פטר צ'ך גרמה לשער שוויון של ניהאט קהבצ'י בדקה ה־87. שתי דקות לאחר מכן, השלים קהבצ'י צמד והעלה את נבחרתו לרבע הגמר עם ניצחון 3–2.[6]
קרואטיה ניצחה את שני משחקיה הראשונים (1–0 על אוסטריה, 2–1 על גרמניה),[7][8] ובשל התיקו 1–1 בין פולין לאוסטריה,,[9] היא הבטיחה את ראשות הבית ואת ההעפלה לרבע הגמר.[10] במחזור השלישי ניצחה גרמניה 1–0 את אוסטריה והעפילה לרבע הגמר,,[11] בעוד קרואטיה ניצחה 1–0 את פולין במשחק חסר משמעות, ובכך הייתה לנבחרת הראשונה בטורניר שמסיימת את שלב הבתים במאזן מושלם.[12]
הולנד הייתה הראשונה להעפיל מבית זה, לאחר שניצחה במחזור הפתיחה 3–0 את אלופת העולם איטליה,[13] ובמחזור השני ניצחה 4–1 את סגניתה צרפת והבטיחה את ראשות הבית.[14] במקביל צרפת ואיטליה סיימו בתיקו עם רומניה, לקראת מפגש ישיר ביניהן במחזור השלישי והמכריע.[15][16] במחזור השלישי, רומניה הייתה צריכה ניצחון על מנת להעפיל לרבע הגמר, אך כשלה והפסידה 2–0 להולנד, שנותרה עם מאזן מושלם. ניצחון זה הותיר את הכרטיס לרבע הגמר בידי המנצחת במפגש בין צרפת לאיטליה. אריק אבידאל, מגנה של נבחרת צרפת, הורחק בכרטיס אדום בדקה ה־24 בעוון עבירה ברחבת ה־16 על לוקה טוני, אנדראה פירלו הבקיע את הפנדל שנשרק, ודניאלה דה רוסי הכפיל את היתרון בבעיטה חופשית בדקה ה־62. המשחק הסתיים בניצחון 2–0 שהעלה את איטליה לרבע הגמר.[17]
למרות חוזקתן של נבחרות בית זה, אף נבחרת לא עברה את שלב רבע הגמר; איטליה הפסידה בדו־קרב בעיטות עונשין לספרד, שגם הניפה לבסוף את הגביע, והולנד הפסידה בהארכה לרוסיה.
בבית זה שובצה האלופה המכהנת, יוון, שזכתה ביורו 2004, יחד עם שוודיה, ספרד ורוסיה. יוון, ספרד ורוסיה שובצו באותו בית גם באליפות אירופה הקודמת (בית א').
ספרד ניצחה את רוסיה 4–1 במחזור הפתיחה בזכות שלושער של דויד וייה, וניצחה שוב 2–1 את שוודיה בזכות שער של דויד וייה בתוספת הזמן, ובכך הבטיחה את המקום הראשון בבית ואת ההעפלה לרבע הגמר.[18][19] במקביל, יוון הפסידה לשוודיה ולרוסיה והבטיחה את המקום האחרון בבית, ואיבדה למעשה את האפשרות להגן על תוארה.[20][21] במחזור השלישי נפגשו שוודיה ורוסיה בקרב ישיר על המקום השני. שתיהן ניצחו את יוון והפסידו לספרד, אך השוודים היו ביתרון בהפרש השערים הכללי ולכן שוודיה הייתה צריכה להימנע מהפסד על מנת להעפיל, אך רוסיה ניצחה 2–0 והעפילה על חשבונה לרבע הגמר.[22] במקביל, במשחק חסר משמעות, ספרד הפכה פיגור מוקדם לניצחון 2–1, ובכך הייתה לנבחרת השלישית שמסיימת את שלב הבתים עם מאזן מושלם.[23]
שלב הנוק-אאוט בטורניר זה היה שונה מהשלב המקביל בטורנירים הקודמים. הקבוצות בבית א' ובבית ב' הופרדו מהקבוצות בבית ג' ובבית ד' עד למשחק הגמר. המטרה העיקרית של סידור זה הייתה להשוות ככל האפשר את זמן המנוחה בין המשחקים לנבחרות שיגיעו לחצי הגמר. כמו כן, בטורניר זה משחקי שלב הנוקאאוט התקיימו בשני אצטדיונים בלבד (זנקט יאקוב פארק ואצטדיון ארנסט האפל).
ברבע הגמר הראשון התמודדה מנצחת בית א', פורטוגל, מול סגנית בית ב', גרמניה. הגרמנים עלו ליתרון כפול שצומק לקראת סוף המחצית הראשונה, היתרון נשמר עם שער אחד מכל צד במחצית השנייה, וגרמניה ניצחה 3–2 בדרכה אל חצי הגמר בפעם הראשונה מאז 1996.[24] רבע הגמר השני היה בין קרואטיה וטורקיה, מנצחת בית ב' וסגנית בית א' בהתאמה. קרואטיה שלטה במהלך כל המשחק אך הזמן החוקי הסתיים ללא שערים. בדקה ה־119 בתוך ההארכה, לוקה מודריץ' עבר את השוער הטורקי רושטו רצ'בר ובישל לאיוואן קלאסניץ' שכבש את שער היתרון. 3 דקות לאחר מכן, בדקה השנייה בתוך תוספת הזמן של ההארכה, קיבלה טורקיה בעיטה חופשית, ובצעד שנוי במחלוקת סירב השופט רוברטו רוסטי להעניק לקרואטיה חילוף. רושטו בעט כדור ארוך שהגיע עד לסמיח שנטורק שקבע 1–1 בסיום ההארכה. טורקיה ניצחה 3–1 בדו־קרב הפנדלים, לאחר שהקרואטים החמיצו 3 מתוך 4 הבעיטות.[25]
ברבע הגמר השלישי התמודדה הולנד מול רוסיה. הולנד הייתה הנבחרת המרשימה ביותר בשלב הבתים, עם מאזן מושלם ויחס שערים 9–1 (הכי הרבה שערים והכי מעט ספיגות), כולל ניצחונות מרשימים על איטליה, אלופת העולם, וסגניתה צרפת (4–1 ו־3–0 בהתאמה). ההולנדים עלו עם סרט שחור על זרועם, כהזדהות עם ח'אלד בולחרוז שאיבד את בתו התינוקת. באופן מפתיע הייתה רוסיה טובה יותר על המגרש, ואף עלתה ליתרון ראשונה, אך רוד ואן ניסטלרוי השווה בדקה ה־86. בדקה ה־90 שלף השופט הסלובקי לובוש מישל את הכרטיס הצהוב השני כלפי הבלם הרוסי דניס קולודין, אך הפך את החלטתו בהתבסס על תצפית שגויה של הקוון.[26] המשחק עבר להארכה, רוסיה השכילה לכבוש במחצית השנייה שני שערים ועלתה לחצי הגמר לאחר ניצחון 3–1.[27]
רבע הגמר האחרון היה בין ספרד, המושלמת בשלב הבתים, ובין איטליה. למרות כוכבים רבים בשני הצדדים, המשחק הסתיים בתיקו מאופס לאחר הארכה ועבר להכרעה בדו־קרב בעיטות עונשין. דו־קרב זה הפגיש בין שניים מטובי השוערים בעולם, ג'אנלואיג'י בופון האיטלקי ואיקר קסיאס הספרדי. לאחר ארבעה סבבים, בופון הציל בעיטה אחת בעוד קסיאס הציל פעמיים, מה שהפך את הבעיטה הבאה למכריעה. ססק פברגאס הבקיע את החמישי, 4–2 בסיכום, ובכך העלה את ספרד לחצי הגמר לראשונה מאז 1984. היה זה הניצחון הראשון של ספרד על איטליה מאז אולימפיאדת אנטוורפן ב־1920.[28]
בחצי הגמר הראשון התמודדה סגנית בית ב', גרמניה, שלוש פעמים אלופת אירופה, מול סגנית בית א', טורקיה, שהעפילה בפעם הראשונה בתולדותיה לחצי הגמר. טורקיה עלתה ראשונה ליתרון משערו של אוגור בוראל, אך בסטיאן שוויינשטייגר השווה את התוצאה ארבע דקות בלבד לאחר מכן. בדקה ה־79, מירוסלב קלוזה נתן את היתרון לגרמניה, אך סמיח שנטורק השווה את התוצאה שבע דקות לאחר מכן. המשחק היה כבר בדרך להארכה, אך בדקה ה־90 כבש מגנה של גרמניה פיליפ לאם את השער השלישי לזכות נבחרתו, והעלה את גרמניה לגמר אליפות אירופה השישי בתולדותיה.[29] שידור המשחק נתקל בבעיות טכניות קשות עקב סופות רעמים בווינה, משם שודר המשחק. בכמה מדינות הופסק השידור שלוש פעמים בעיצומו של המשחק, כולל בשעת שעריהם של קלוזה וסמיח.
חצי הגמר השני היה שחזור של משחק הפתיחה בבית ד', כאשר אלופת הבית, ספרד, נפגשה עם סגניתה, רוסיה. ספרד לא הופיעה בחצי הגמר מאז 1984, ורוסיה גם היא לא העפילה למעמד זה מאז 1988 כברית המועצות. בשתי המקרים הן העפילו לגמר אך הפסידו בו. המחצית הראשונה הסתיימה ללא שערים, אך במחצית השנייה שעריהם של צ'אבי, דניאל גוויסה ודויד סילבה העניקו לספרד ניצחון 3–0 מוחץ, והעפלה לגמר אליפות אירופה השלישי בתולדותיה והראשון מזה 24 שנים.[30]
בגמר נפגשו ספרד, אלופת בית ד', וגרמניה, סגנית בית ב'. שתיהן הוכרו במהלך הטורניר כפייבוריטיות לזכות באליפות. הגרמנים היו עדיפים בתחילתו של המשחק, אך הספרדים עלו ליתרון כבר במחצית הראשונה, כאשר פרננדו טורס השתלט על כדור ארוך של צ'אבי, עבר את פיליפ לאם וינס להמן ובעט את הכדור אל הפינה השמאלית של השער. למרות הזדמנויות נוספות של מיכאל באלאק, סרחיו ראמוס, דניאל גוויסה ואנדרס אינייסטה, המשחק הסתיים ללא שערים נוספים. ספרד ניצחה 1–0 וזכתה באליפות אירופה בפעם השנייה (לאחר 1964), ואילו פרננדו טורס נבחר לאיש המשחק.[31]
הוועדה הטכנית של אופ"א בחרה את 23 השחקנים הטובים ביותר שהשתתפו בטורניר. הקבוצה של תשעת הבוחרים צפתה בכל משחקי האליפות, לפני שהחליטה על השחקנים לאחר משחק הגמר. תשעה שחקנים מנבחרת ספרד שזכתה בטורניר נכללו בנבחרת היורו, בעוד שלא נבחר אף שחקן שקבוצתו הודחה בשלב הבתים. הוועדה אף בחרה את השחקן המצטיין של יורו 2008, ולקחה בחשבון גם את הצבעותיהם של האוהדים. השחקן המצטיין שנבחר הוא קשר ספרד, צ'אבי. פרס נעל הזהב הוענק לספרדי אחר, דויד וייה שהבקיע ארבעה שערים, שלושה מהם במשחק הראשון של ספרד בטורניר נגד רוסיה.
אופ"א הודיעה כי סכום של 184 מיליון אירו (€ 184,000,000) יחולק בין 16 הקבוצות המתחרות בטורניר, סכום הגדול ב-55 מיליון אירו מהטורניר הקודם. סך של 7.5 מיליון אירו יוענק לכל קבוצה משתתפת, ומענקים נוספים יחולקו לקבוצות בהתאם להישגיהן, כדלקמן:
בשלב הבתים סך של 0.5 מיליון אירו, עבור כל משחק המסתיים בתיקו, וסך של מיליון אירו עבור כל ניצחון.
רבע-גמר: 2 מיליון אירו.
חצי-גמר: 3 מיליון אירו.
סגנית אלופה: 4.5 מיליון אירו.
אלופה: 7.5 מיליון אירו. מאחר שנבחרת ספרד, אלופת היורו, ניצחה בכל שלושת המשחקים בשלב הבתים, היא גרפה סכום כולל של כ-23 מיליון אירו.