Giovanni assieme ai fratelli Dionigi e Beatrice (D. Juan, D. Dionis, D. Beatriz) è citato nel Nobiliario di suo zio, Pietro Alfonso, conte di Barcelos, come figlio di Pietro, re del Portogallo (D. Pedro Rey de Portugal) e della sua seconda (terza) moglie[7]Inés de Castro (D. Ines de Castro)[2][4].
Il 24 maggio 1360, a Elvas, suo padre, divenuto, nel 1357, re Pietro I del Portogallo, investì Giovanni delle signorie portoghesi di Porto de Moz Cea e Montelonso[2].
Dichiarato principe del Portogallo, Giovanni fu legittimato il 19 marzo del 1361[2]. Anche dopo la morte del padre i rapporti col fratellastro, Ferdinando (1345-1383), che era divenuto re del Portogallo, si mantennero buoni, anche se assieme a suo fratello Dionigi (e successivamente alla sorella Beatrice), gli "Infanti Castro" si esiliarono in Castiglia assieme a molti altri nobili portoghesi durante il regno di Ferdinando I del Portogallo[8]. Arrivato in Castiglia nel 1376, Il re Giovanni I di Castiglia gli concesse varie rendite.
Nel 1376, Giovanni sposò Maria Telles de Meneses (?-1379), figlia di Martino Alfonso de Meneses e della moglie Aldonza di Vasconcellos[2]. Maria era al suo secondo matrimonio ed era da poco vedova di Alvaro Diaz de Sousa[2]. Questo matrimonio durò solo tre anni; ne 1379, infatti Giovanni uccise la moglie strangolandola[2].
Nel 1379, il fratellastro, Ferdinando, dopo la morte dei figli maschi, aveva designato Giovanni come suo erede.
Giovanni tornò in Portogallo nel 1379 con il proposito di sposarsi con sua nipote Beatrice, figlia del fratellastro, ma la regina consorte, Eleonora Telles de Menezes, rivendicando gli interessi della figlia e preferendo un candidato portoghese alla mano di Beatrice, si oppose e Giovanni fu costretto a fuggire nuovamente in Castiglia[2][9].
Giovanni in quello stesso anno, si sposò per la seconda volta, con la Signora di Alba de Tormes e Valencia de Campos, Costanza di Castiglia, figlia illegittima del re di Castiglia, Enrico II e della sua amante, Elvira Íñiguez de la Vega[2]. Molto probabilmente in occasione del suo matrimonio, comunque, nel 1379, Giovanni venne creato duca di Valencia de Campos[2]. Infine, nel 1383, divenne signore di Alba de Tormes[2]. Entrambi i feudi si trovavano nel regno di León.
Nell'ottobre del 1383, alla morte del re del Portogallo, Ferdinando I, come da accordi prematrimoniali, presi col marito della figlia, il re di Castiglia, Giovanni I, la regina madre Eleonora assunse la reggenza del regno portoghese per conto della figlia Beatrice. Ma in Portogallo non tutti accettarono la situazione sia per la sua fama di adultera[10] sia perché, nel caso Beatrice fosse premorta a Giovanni di Castiglia, il Portogallo si sarebbero trovato con un re straniero. In questa situazione di malcontento, due persone di rango reale, fratellastri del defunto re Ferdinando, venivano indicate come degne di poter salire sul trono del Portogallo e quindi contendere il trono a Beatrice:
La nobiltà era divisa, una parte era per il duca Giovanni, considerato un principe di casa reale in quanto sua madre, Inés de Castro, era stata sposata in segreto e quindi legittimato, mentre Giovanni d'Aviz era un illegittimo; ma a favore di quest'ultimo giocava il fatto che era sempre vissuto in Portogallo mentre il suo fratellastro, dopo la tragica morte della madre era stato portato in León, e dove era tornato negli ultimi quattro anni e dove, recentemente era stato investito di un feudo leonese Un gruppo di nobili, tra cui Nuno Álvares Pereira, con l'appoggio della popolazione di Lisbona, nel dicembre del 1383, proclamò Giovanni di Aviz, difensore del regno, dopo che quest'ultimo oltre a decretarne l'esecuzione col Pereira, partecipò personalmente all'assassinio del conte Andeiro, non solo per la sua scandalosa condotta con la reggente, ma anche per la sua politica filocastigliana.
Giovanni rimase così nei suoi feudi nella zona di Salamanca, dove morì nel 1397, e dove fu tumulato nella chiesa di San Esteban[2].
^Inés de Castro era figlia di Pedro Fernández de Castro (? – 1342), signore di Monforte de Lemos e Sarria e membro di una delle famiglie più antiche e illustri della Galizia, oltre che nipote di re Sancho IV, e della di lui amante Aldonza Lorenzo de Valladares (1270 c.a. – ?).
^(ES) Romero Portilla, Paz, Exiliados en Castilla en la segunda mitad del siglo XIV. Origen del partido portugués, in Poder y sociedad en la baja edad media hispánica: Estudios en homenaje al profesor Luis Vicente Díaz Martín, Valladolid, Universidad de Valladolid, 2002, ISBN84-8448-172-7.
^Si sospettava una relazione di Eleonora con Giovanni Fernandez Andeiro, conte di Ourém.