Ο Ιωάννης Ζ’ Παλαιολόγος γεννήθηκε το 1370 και υπήρξε πρωτότοκος γιος του αυτοκράτορα Ανδρόνικου Δ’ Παλαιολόγου (1348-1385) και της συζύγου του Μαρίας Κυράτζας (1348-1390), κόρης του τσάρου της Βουλγαρίας Ιβάν Αλεξάντρ. Παππούς του ήταν ο επίσης αυτοκράτορας Ιωάννης Ε’ Παλαιολόγος (1332-1391).
Συμβασίλευσε με τον πατέρα του (1376-1379), ο οποίος με τη βοήθεια των Οθωμανών Τούρκων είχε ανατρέψει τον παππού του Ιωάννη Ε’ Παλαιολόγο. Μετά την παλινόρθωσή του το 1379, ο Ιωάννης Ε’ Παλαιολόγος τύφλωσε μερικώς, τόσο τον γιο του, όσο και τον εγγονό του. Μετά τον θάνατο του πατέρα του, το 1385, ο Ιωάννης Ζ’ Παλαιολόγος θεώρησε εαυτόν νόμιμο διάδοχο του θρόνου και αντιτάχθηκε στις βλέψεις του θείου του Μανουήλ Β’ Παλαιολόγου.
Στις 14 Απριλίου 1390 ανέτρεψε τον παππού του Ιωάννη Ε’ Παλαιολόγο, με τη βοήθεια των Γενουατών και του Οθωμανού Σουλτάνου. Ο Βαγιαζήτ Α’ (1354-1403) επιθυμούσε την ανατροπή του αυτοκράτορα, που έτρεφε αντιτουρκικά και φιλοβενετικά αισθήματα. Είχε προηγηθεί ταξίδι του Ιωάννη Ζ’ στη Γένουα το 1389 προς αναζήτηση πολιτικής υποστήριξης έναντι του θείου του, Μανουήλ. Ο Ιωάννης Ζ’ παρέμεινε στον θρόνο για λίγους μήνες έως τις 17 Σεπτεμβρίου 1390, οπότε ανατράπηκε με πρωτοβουλία του θείου το Μανουήλ Β’. Ο πατέρας του Ιωάννης Ε’ Παλαιολόγος ανακηρύχθηκε για τρίτη φορά αυτοκράτορας.
Αμέσως μετά την αποκατάσταση του Ιωάννη Ε’ στον θρόνο του Βυζαντίου, ο Ιωάννης Ζ’ και ο Μανουήλ Β’ κλήθηκαν από τον Βαγιαζήτ, βάσει των όρων υποτέλειας που είχε συμφωνήσει ο Ιωάννης Ε’ να συμμετάσχουν στην επόμενη στρατιωτική εκστρατεία των Τούρκων, κατά της Φιλαδέλφειας, η οποία μέχρι εκείνη την ώρα ήταν σε Βυζαντινά χέρια. Ενώ βρίσκονταν στη Μικρά Ασία τους αναγγέλθηκε η είδηση για τον θάνατο του Ιωάννη Ε’ (16 Φεβρουαρίου 1391). Οι δυο τους συμφώνησαν να στεφθεί αυτοκράτορας ο Μανουήλ Β’ και ο Ιωάννης Ζ’ να ανακηρυχθεί διάδοχός του, αφού ο Μανουήλ ήταν ακόμη ανύπαντρος.
Ο Βαγιαζήτ επιθυμούσε την αποκατάσταση του Ιωάννη Ζ’ στον θρόνο του Βυζαντίου και δεν δίστασε να αποκλείσει και να πολιορκήσει την Κωνσταντινούπολη. Ο κλοιός γύρω από την πόλη έγινε ασφυκτικότερος μετά την αποτυχημένη Σταυροφορία του 1396, που τερματίστηκε με τη συντριπτική νίκη του σουλτάνου στη μάχη της Νικόπολης το ίδιο έτος. Το 1399 εισήλθε πανηγυρικά ο Ιωάννης Ζ’ στην Πόλη, χωρίς όμως να επιτρέψει την παράδοσή της στους Οθωμανούς. Ο ίδιος τέθηκε επικεφαλής της άμυνας ως αντιβασιλιάς, ενώ ο αυτοκράτορας Μανουήλ Β’ περιόδευσε στη Δύση, με σκοπό να συγκεντρώσει πολύτιμη βοήθεια. Όλοι περίμεναν το θαύμα, το οποίο ήρθε με τη μορφή του Ταμερλάνου. Το 1402 ο Βαγιαζήτ έλυσε την πολιορκία για να αντιμετωπίσει τη Χρυσή Ορδή του Μογγόλου ηγέτη. Υπέστη συντριβή στη μάχη της Άγκυρας (20 Ιουλίου 1402) και συνελήφθη αιχμάλωτος.
Τον επόμενο χρόνο ο Ιωάννης Ζ’, εκμεταλλευόμενος τις εσωτερικές διαμάχες των Οθωμανών, υπογράφει συνθήκη μαζί τους και η Θεσσαλονίκη περιέρχεται και πάλι στο Βυζάντιο (3 Ιουνίου 1403). Έχοντας αποκαταστήσει πλήρως τις σχέσεις του με τον αυτοκράτορα και θείο του Μανουήλ Κομνηνό εγκαθίσταται στη Θεσσαλονίκη και αναλαμβάνει τη διοίκηση της περιοχής ως «Δεσπότης της Θεσσαλονίκης» και «Βασιλεύς πάσης Θεσσαλίας».
Το 1399 νυμφεύτηκε τη γενουατικής καταγωγής Ευγενία Γκατιλούζιο, πρωτότοκο κόρη του Λόρδου της Λέσβου Φραντσέσκο Β’ Γκατιλούζιο, η οποία μετονομάστηκε σε Ειρήνη. Μαζί απέκτησαν τον Ανδρόνικο Ε’ Παλαιολόγο, ο οποίος συμβασίλευσε με τον πατέρα του από το 1403 έως το 1407, οπότε πέθανε σε ηλικία επτά ετών.
Ο Ιωάννης Ζ’ Παλαιολόγος πέθανε στις 22 Σεπτεμβρίου 1408, σε ηλικία 38 ετών.