יוחנן מגוש חלב
עד לנפילת גוש חלב

גוש חלב (בכתבי יוסף בן מתתיהו ביוונית: "גיסקלה") הייתה עיר קדומה בגליל, במקום בו שוכן הכפר המודרני ג'ש.
כאמור, יוסף בן מתתיהו סיפר כי יוחנן נמנה תחילה עם המתונים, והחל בפעילות מלחמתית רק בתגובה להתנפלות אנשי צור ובני בריתם על גוש חלב. הוא פעל בימים הראשונים של המרד, בטרם מונה יוסף בן מתתיהו למפקד הגליל, ובשעה שהמלחמה עדיין נשאה אופי של מלחמה בין האוכלוסיות היהודיות והלא יהודיות השוכנות בארץ. יוחנן קיבץ אליו לוחמים מכל קצות הגליל, כארבע מאות במספר, וארגן אותם לכוח צבאי שהגן על ערי הגליל, ופשט על הערים הנכריות. כאשר הגיע למקום יוסף בן מתתיהו, הוא הורה ליוחנן לבנות מחדש את חומותיה של גוש חלב ולהגן עליה. יוסף הגיע לגליל עם שני עוזריו, יועזר ויהודה, לאחר שהוסמך על ידי הממשלה שהוקמה בירושלים על ידי אספת העם, לשמש המפקד הצבאי של הגליל, ויוחנן היה כפוף למרותו. שניים אלו, כפי הנראה, היו שונים באופיים ובגישתם אל הפעולות שהיה צריך לנקוט בהן. ההתנגשות הראשונה בין השניים הייתה בשאלת מכירת אוצרות התבואה של הקיסר הרומי שהיו מאוכסנים בגליל, לצורך בניית החומה של גוש חלב.
תבואות אלו נועדו לשמש מס לרומא. יוסף סירב לאשר את המכירה, ויש המפרשים את הדבר כחוסר רצון מצידו לפגוע בקיסר הרומי. בסופו של דבר, קיבל יוחנן משני עוזריו של יוסף את האישור למכור את תבואת הקיסר, והוא השתמש בכסף לביצור עירו, גוש חלב.
בדיווחו של יוסף בן מתתיהו על יוחנן בזמן פעילותו בגליל, לא נזכרת שום פעולה כלשהי נגד הרומאים או נגד המתונים, אוהדיהם. לדברי אוריאל רפפורט, אילו דגל יוחנן בתקופה זו במרד, יוסף לא היה מעלים זאת מקוראיו, ולכן המניע לפעולותיו לא היה בהכרח עמדה אנטי-רומאית ומאבקו ביוסף בן מתתיהו לא היה בהכרח קשור ליחס לרומא. נראה כי ליריבות זו לא היה אופי רעיוני, וכי הריב היה במסגרת השקפות דומות, שכן יוחנן נעזר במאבקו באישים מהממשלה המתונה.
יוסף כתב כי יוחנן ניסה לגייס אנשים להורגו, וכי המריד את אנשי טבריה כנגדו. לאחר ניסיון זה נמלט יוחנן לגוש חלב ושקד על הכנת הגנתה, ועמו כאלפיים איש, פליטים יהודים מערי סוריה. יוחנן פנה באמצעות שליחים (אחד מהשניים היה אחיו, שמעון) אל "רעו ומיודעו" רבן שמעון בן גמליאל הזקן בירושלים, שישכנע את חנן בן חנן וסיעתו להרחיק את יוסף מתפקידו, ואלה שלחו שליחים אל ערי הגליל להחזירו לירושלים.
היחסים הקרובים ששררו בין יוחנן ושמעון בן גמליאל, ונכונותו של חנן בן חנן להדיח את יוסף, מצביעים שיוחנן לא נחשב אז כשופרם של הגורמים הקיצוניים.
ארבעת השליחים נתמכו בצבא של כ-2,500 איש (כאלף ב"חיי יוסף"), אך יוסף הצליח להשתלט על המרידה, ושלח את השליחים וצבאם בחזרה לירושלים. לאחר כל אלו נותר יוחנן בגוש חלב ולא יצא ממנה, לדברי יוסף, מתוך פחד ממנו.
בשנת 67 החל מפקד הצבא הרומי אספסיאנוס את מסעו בגליל. עד מהרה נפלה העיר יודפת, לאחר מצור קשה תחת פיקודו של יוסף, ולאחריה יתר הגליל. גוש חלב הייתה האחרונה מערי הגליל שהחזיקה מעמד, לאחר נפילת המעוזים האחרונים בידי הרומאים – גמלא והר תבור. בנו של אספסיאנוס, טיטוס, נשלח אל גוש חלב ועמו אלף רוכבים. לדברי יוסף בן מתתיהו, משהגיע טיטוס אל העיר, ביקש ממנו יוחנן שלא להתחיל במלחמה ביום השבת. טיטוס נענה לבקשה זו, ויוחנן ניצל את ההזדמנות ועזב את העיר בחשכת הלילה ועמו כמה אלפים מן הקנאים. למחרת פתחו תושבי העיר את שעריה והסגירוה בידי טיטוס. טיטוס רדף אחרי יוחנן ואנשיו, ואף הרג רבים מהם, אך יוחנן הצליח להימלט לירושלים. אולם תיאור זה מעורר תהיות: אם החליט יוחנן לברוח, מדוע לא עשה זאת טרם בואו של טיטוס, וכיצד הצליחו אנשיו לעבור דרך כל כך ארוכה מבלי שישיגו אותם פרשיו של טיטוס. ייתכן, אפוא, שיוחנן ואנשיו כלל לא ברחו, אלא פשוט יצאו מהעיר, ללא נשים וילדים, ומבלי שנרדפו.