פיליפוס הודאג מאוד מהשייטת הרומית, וסבר שהרומאים ככל הנראה מנסים למנוע ממנו דריסת רגל בים האדריאטי. באוגוסט נודע לו על השמדת צבא רומאי ענק בקרב קאנאי בידי חניבעל מה שנתן לו אור ירוק למלחמה ברומא. חניבעל עצמו, שהעזרה שהגיעה אליו מקרתגו הייתה מעטה, היה זקוק לבן ברית ושמח על הצעת פיליפוס. סביר להניח שהנוסח המצוי בידינו של האמנה המוקדונית-קרתגית הוא הגרסה הכנענית שלה, שתורגמה ליוונית בידי פוליביוס. פוליביוס מביא את נוסח החוזה בין חניבעל לפיליפוס, לפיו: "אתם [המוקדונים] תסייעו לנו [הקרתגים] לפי הצורך ולפי התיאומים שנעשה בינינו, ולאחר שהאלים יעניקו לנו את הניצחון על הרומאים ובעלי בריתם...", קרתגו תקבל חזרה את סרדיניה קורסיקה וסיציליה, על רומא ייאסר לפתוח במלחמה על מוקדון או קרתגו, הרומאים יוותרו על קרקירה, אפולוניה, אפידמנוס, פארוס, דימאלי, ואזורים נוספים ויעניקו אותם למוקדון. כמו כן ישוחררו כל ידידי דמטריוס מפארוס, ידידו של פיליפוס, שהיו כלואים ברומא. הברית נכנסה לתוקפה כבר בקיץ של שנת 215 לפנה"ס. יש הסוברים שברית זו היא למעשה נקודת מפנה בהיסטוריה, שכן זו הפעם הראשונה ששלושה עולמות שונים וזרים שעד אז היו בקשר מועט (יוון, קרתגו ורומא), נפגשו יחדיו.
תנאי ההסכם שנחתם קבעו כי פיליפוס יכין צי גדול, בן כמאתיים אוניות, יפלוש לאיטליה, יבוז את החופים ויילחם בים וביבשה בכל הכוח שברשותו; בתמורה יוכל להרחיב כרצונו את גבולות ממלכתו ביבשת יוון ובאיים. איתרע מזלו של פיליפוס, ושליחיו נתפסו בשובם לארצם על ידי שייטת האוניות הרומית שהגנה על חופי איטליה בין ברונדיסיום לטארנטום. כשלמד הסנאט על דבר ההסכם שנחתם, הקצה חיילים למלחמה בפיליפוס על אדמת יוון (המלחמה המוקדונית הראשונה) והכפיל את כוחה של השייטת מ-25 ל-50 אוניות; צי זה, בפיקוד פובליוס ואלריוס פלאקוס, נצטווה לא רק להגן על חופי קלבריה, אלא גם לאסוף ידיעות מודיעיניות על הנעשה מעבר לים, כך שאם המלך יצא למסע כיבושיו כפי שתכנן, יועבר צבא באוניות כדי לסכל את צעדיו. פיליפוס כבש את אוריקוס והטיל מצור על אפולוניה, אולם אז הופיעה שייטת רומית בפיקודו של הפראיטור מרקוס ואלריוס לאיווינוס וסגר עליו. פיליפוס לא רצה להיכנס לקרב מול הצי הרומי, הוא עלה ליבשה העלה את ספינותיו באש וחזר עם צבאו למוקדון דרך היבשה.
המלחמה המוקדונית הראשונה.
לרוע המזל, פיליפוס לא הצליח לשכנע את שאר ערי הברית (ה"סימאכיה") לצאת למלחמה על רומא או אפילו לסייע לו בה. גרוע מכך, במסיניאה פרצה מלחמת אזרחים שפיליפוס נאלץ להתערב בה בעל כורחו. כמו כן, הלכו והתקררו יחסיו של פיליפוס עם הפוליטיקאי האכאי אראטוס מסיקיון, ועל פי השמועות, פיליפוס היה האחראי למותו של אראטוס בחורף 214 לפנה"ס. "שיחות חשאיות" החלו להתנהל בין הרומאים לבין האיטולים, שלא השלימו עם התבוסות והשטחים שאבדו להם בשלום נאופקטוס. הספקות האחרונים שהיו לאיטולים התפוגגו לאחר שסירקוסאי וקפואה נפלו בידי הרומאים, מה שהבהיר להם שמלחמת חניבעל-רומא היא רק עניין של זמן. הקרבות בין פיליפוס לרומאים היו עד למועד זה ימיים בלבד, ולא רציניים. הצטרפות האיטולים למלחמה יכולה הייתה לשנות זאת. הרומאים כרתו ברית עם האיטולים, שהצטרפו למלחמה בהתלהבות רבה.
בשנת 210 לפנה"ס, הגיע לזירה מצביא רומאי חדש, פובליוס סולפיקיוס גלבה מקסימוס. האימפריום שלו הוארך גם לשנת 209 לפנה"ס, והמלחמה התנדנדה ללא הכרעה. באותה שנה פנו אתונה, רודוס, כיוס ומצרים אל הרומאים והמוקדונים בבקשה להגיע להסדר ביניהם. ואכן, פיליפוס החליט שהמלחמה ברומאים אינה משתלמת יותר, והיה מוכן להגיע להסכם שלום. עם זאת, לרומאים וכן לבעלי בריתם הפרגמונים היה אינטרס להמשיך את המלחמה כדי להגדיל את ההשפעה הרומית באיליריה. אך היה חשש שבעלי בריתה היבשתיים של רומא, הליגה האיטולית וספרטה, שמאסו גם הן במלחמה, יסכימו להגיע להסכם שלום עם פיליפוס, מה שהיה מנשל את רומא ממרבית השפעתה ביוון גופא. שני הצדדים הסכימו להגיע להסכם שביתת נשק בן שלושים יום, במהלכם החל סולפיקיוס, כמו גם אטאלוס הראשון, מלך פרגמון, להרעיף הבטחות על האיטולים. אטאלוס הבטיח סיוע רב, וסולפיקיוס השיט את ציו אל מול העיר נאופקטוס באיסתמוס, כדי להפגין נוכחות רומית רבת משמעות. ואכן, התנאים שהציבו האיטולים היו נוקשים מאוד, ופיליפוס, שבוודאי ראה בהם את ידם המכוונת של הרומאים, פירש אותם ככניעה גמורה וסירב. בהדרגה החלה המלחמה נוטה לצד מוקדון. פרוסיאס הראשון, מלך ביתיניה, כיבד את בריתו עם פיליפוס ותקף את פרגמון. בלית ברירה, נאלץ אטאלוס לנטוש את יוון ולהגן על ארצו. קרתגו הבטיחה סיוע לפיליפוס, ובליגה האכאית אישרו העברת תקציבים נוספים למוקדון. משהבין סולפיקיוס שהפרגמונים לא יוכלו להעניק לו סיוע, לא מיהר לנקוט יוזמה, ופיליפוס מיהר להשתלט על חלק מהשטחים שאיבד. בהדרגה החלו האיטולים לחוש שנטל המלחמה נופל בעיקר עליהם, ולכן חתמו על הסכם שלום נפרד עם פיליפוס.
בראשית שנת 205 לפנה"ס נחת באפידמנוס מצביא רומאי חדש, פובליוס סמפרוניוס טודיטאנוס, עם 35 אוניות מלחמה ו-11,000 לוחמים. כוח מכובד, אולם לא מספיק כדי להכריע את פיליפוס. סמפרוניוס שלח שליחים אל האיטולים בניסיון להחזיר אותם לברית עם רומא, אולם הם נאלצו לשוב כלעומת שבאו. בלית ברירה נע סמפרוניוס צפונה והטיל מצור על העיר דימאלי. פיליפוס מצדו, ניסה את כוחו כנגד אפולוניה, והשחית את שדותיה. סמפרוניוס נטש את המצור והחל נע אל אפולוניה במטרה לצאת לקרב מול פיליפוס. אולם בינתיים הצליחו מתווכים מערי מדינה יווניות, ובראשן אפירוס, לשכנע את פיליפוס וסמפרוניוס לחתום על הסכם שלום. ההסכם נחתם בעיר פויניקי שבאפירוס, וכונה לפיכך הסכם פויניקי. חתמו עליו הרפובליקה הרומית, פרגמון, ספרטה, מסניה, אליס, האילירים, איליון ואתונה. ייתכן עם זאת, ששתי האחרונות לא חתמו מעולם על ההסכם והוספו בידי כותבי היסטוריה רומאיים לצורכי תעמולה. מהצד השני, חתמו על ההסכם מוקדון, הליגה האכאית, ביתיניה, אפירוס, תסליה, בויאוטיה, אקרנאניה ואפירוס.
המלחמה הכרתית.
לאחר החתימה על שלום פויניקי, חש פיליפוס כי השפעתה של מוקדון ביוון עומדת כעת במבחן קשה. פיליפוס, שהעסיק דרך קבע מרגלים באיטליה, למד עד מהרה כי לאחר שיכניעו את קרתגו, לא יסתפקו הרומאים בהישגים החלקיים בזירת הבלקן. לא עברה שנה, והוא החל מתכונן למלחמה הבאה ברומא. עם זאת, למרות הכנותיו, שכללו גם הכנת צי מלחמתי גדול, פיליפוס לא רצה לגרום לרומא למצוא תואנה למלחמה אתו, ועל כן נזהר לא לפגוע באחת מן המדינות החתומות על שלום פויניקי. לקראת המלחמה, הוא רצה להבטיח בראשית את גבולו הצפוני. לפיכך, הוא יצא למלחמה נוספת נגד האילירים, וכן ניהל קרב גדול עם הדארדאנים והסב להם אבדות כבדות. את מערך ההגנה הצפוני השלים באמצעות כריתת ברית עם מספר ממלכות תראקיות.
בעוד פיליפוס טרוד בצפון, התלקח סכסוך בין רודוס לבין מספר ערים בכרתים. הידיעות ששרדו אודות פרטי הסכסוך הן חלקיות, אולם ידוע שפיליפוס מיהר להתייצב לימין הערים הנלחמות ברודוס. הוא ראה במלחמה בים האגאי הזדמנות להחזיר את יוקרתו האבודה ולהגביר את השפעתו שם. הערים הכרתיות אשר לחמו ברודוס, מינו את פיליפוס כמפקד הראשי של הליגה האנטי-רודית. פיליפוס הפעיל לחץ כבד על הערים הכרתיות שעדיין צידדו ברודוס, ולאחר מכן כרת ברית עם שודדי ים אייטולים וספרטנים, שהחלו להתנפל על אוניות רודיות. פיליפוס גם החליט להשיג תמיכה מבעל ברית חזק. מכיוון שקרתגו נאלצה לחתום על חוזה משפיל עם רומא (אשר הוליד את הביטוי "שלום קרתגו"), שתי בעלות הברית הפוטנציאליות שלו היו מצרים התלמיית והאימפריה הסלווקית. מצרים הציעה נישואין בין בנו של פיליפוס למלך הצעיר תלמי החמישי (אפיפנס), וכן דרשה הבטחה שפיליפוס יישאר נייטרלי במלחמה המתקרבת בין מצרים לאימפריה הסלווקית, אולם בתמורה לכך מצרים לא הציעה דבר, ופיליפוס פנה אל המלך הסלווקי אנטיוכוס השלישי (הגדול).
לא ידוע מה טיב הברית שנכרתה בין אנטיוכוס לפיליפוס, אולם נראה שהם קבעו לחלק ביניהם את מצרים. על פי פוליביוס, פיליפוס היה אמור לקבל את מצרים עצמה, וכן את קאריה וסאמוס, בעוד אנטיוכוס יקבל רק את קוילה-סוריה ופיניקיה. אפיאנוס לעומתו, טוען שפיליפוס היה אמור לקבל את איוניה, האיים הקיקלאדיים וקירנה. הירונימוס, בפירושו ל, טוען שעל פי ההסכם כל אחד היו אמור לקבל את השטחים הסמוכים לממלכתו. כך או כך, פיליפוס היה מעודד מהברית, שבמסגרתה אנטיוכוס הכיר למעשה בתביעותיו בבלקן, והוא החל לתקוף את נחלות תלמי ואת בעלות בריתה של רודוס בתראקיה וסביב ים השיש. רודוס ובעלות בריתה פרגמון, קיזיקוס וביזנטיון כינסו בשנת 202 לפנה"ס צי מלחמתי משותף, ושנה אחר כך ניצחו את פיליפוס בקרב כיוס. חודשים אחדים לאחר מכן ניצח הצי של פיליפוס את הרודים בלאדה.
המלחמה נגד אתונה.