Faits : A. A._ est locataire d'un appartement de cinq pièces et demie à X._ (GE) depuis le 1 er août 1995; il y habitait déjà avec ses parents depuis 1967. Le loyer annuel est de 18'420 fr., charges comprises. Le 1 er novembre 2006, C._ a acquis l'appartement lors d'une vente aux enchères publiques. Par avis officiel du 18 décembre 2006, elle a notifié un congé pour le 30 juin 2007 ou toute échéance valable utile. Le locataire a contesté la résiliation devant la Commission de conciliation. La bailleresse a alors motivé le congé par le souhait de vendre l'appartement libre de tout occupant. Par arrêté du 8 avril 2008, le Département genevois des constructions (à l'époque DCTI) a autorisé la vente de l'appartement à un tiers précis sous diverses conditions, notamment la suivante: "Les droits et obligations découlant du contrat de bail actuellement en cours et conclu au bénéfice de M. A._ seront repris par l'acquéreur ...". L'appartement a ensuite été promis-vendu à d'autres personnes, soit A.B._ et B.B._. Le 20 octobre 2008, le DCTI a donné son accord en précisant que l'arrêté du 8 avril 2008 demeurait inchangé pour le surplus. Les deux prénommés sont devenus propriétaires le 9 janvier 2009. Par avis officiel du 24 février 2009, les nouveaux bailleurs ont résilié le contrat du locataire A._ avec effet au 30 juin 2009, mentionnant comme motif de congé le "besoin propre des propriétaires". Le locataire a contesté cette seconde résiliation devant la Commission de conciliation. Le 18 janvier 2010, la Cour de justice genevoise a définitivement mis fin à la procédure relative au premier congé. Elle a substitué les nouveaux bailleurs à C._, puis confirmé l'annulation du congé précédemment prononcée par le Tribunal des baux et loyers, au motif que le congé visait un but purement spéculatif. B. Par décision du 20 avril 2010, la Commission de conciliation a annulé le second congé donné le 24 février 2009. Elle a motivé sa décision par le fait que les bailleurs avait notifié un nouveau congé alors que la procédure relative au premier congé était pendante, sans faire valoir l'urgence de leur besoin propre. Les bailleurs ont porté la cause devant le Tribunal des baux et loyers en invoquant un besoin urgent d'occuper l'appartement litigieux. Par jugement du 22 juin 2011, le Tribunal a annulé le second congé, au motif qu'il avait été donné pendant une procédure judiciaire (relative au premier congé) et que les bailleurs n'avaient pas rendu vraisemblable leur besoin urgent d'occuper l'appartement (art. 271a al. 1 let. d et al. 3 let. a CO). Les bailleurs ont fait appel. Par arrêt du 5 novembre 2012, la Chambre des baux et loyers de la Cour de justice a annulé le jugement, déclaré valable le second congé compte tenu du besoin urgent des bailleurs et renvoyé la cause au Tribunal des baux pour statuer sur la prolongation du bail. Le locataire a interjeté un recours auprès de la cour de céans, qui l'a déclaré irrecevable au motif que l'arrêt attaqué était une décision incidente non susceptible de recours immédiat (4A_724/2012). C. Le Tribunal des baux a rendu son jugement final le 20 décembre 2013. Il a accordé au locataire une prolongation unique de trois ans jusqu'au 30 juin 2012. Le locataire a fait appel. Par arrêt du 6 octobre 2014, la Chambre des baux et loyers a confirmé le jugement du 20 décembre 2013. D. Le locataire (recourant) saisit le Tribunal fédéral d'un recours en matière de droit civil (sic!) contre l'arrêt du 6 octobre 2014 et l'arrêt incident du 5 novembre 2012. Il conclut à l'annulation du second congé. Le recours porte uniquement sur la question de la validité de la résiliation; la question subsidiaire de la prolongation de bail, contestée en appel, n'est plus remise en cause faute de portée pratique ensuite du temps écoulé depuis la résiliation. Les bailleurs (intimés) concluent au rejet du recours. L'autorité précédente se réfère à son arrêt.