Ritrovamenti archeologici fanno risalire i primi insediamenti umani nel territorio di Pennabilli all'epoca etrusca e romana. Durante le scorrerie barbariche della metà del I millennio d.C., le due alture impervie su cui sorge il capoluogo (ora chiamate "Roccione" e "Rupe"), servirono da rifugio alle popolazioni stanziate nei dintorni e lungo il fiume Marecchia. Ebbero così origine le comunità di "Penna" e "Billi" i cui toponimi (l'uno derivante dal latino "Pinna", vetta, punta, l'altro da "Bilia", cima tra gli alberi) fanno riferimento alla caratteristica conformazione dei due colli. Secondo un'altra teoria "Billi" deriverebbe, invece, dal nome del dio etrusco del fuoco "Bel", venerato in un tempio divenuto, in era cristiana, chiesa di San Lorenzo (martire del fuoco).
 
Nel 1004 un discendente della famiglia Carpegna soprannominato "Malatesta", forse perché testardo e scapestrato, cominciò la costruzione della rocca sul Roccione: era la nascita del celebre casato che, sceso da Penna prima a Verucchio e poi a Rimini, avrebbe assoggettato tutta la Romagna. L'unione con il vicino castello di Billi avvenne solo nel 1350 con la posa della "pietra della pace" nella piazza del mercato sorta tra i due nuclei abitati. Il nuovo comune passò più volte sotto l'influenza dei Malatesta, dei Montefeltro, dei Medici e dello Stato Pontificio. Nel 1572, con il trasferimento della sede vescovile da San Leo, papa Gregorio XIII lo insignì del titolo di "Città". Pennabilli è tuttora sede della diocesi di San Marino-Montefeltro.
 
Nell'Italia unita il comune di Pennabilli è appartenuto alle Marche (provincia di Pesaro e Urbino) fino al 15 agosto 2009, quando ne è stato distaccato congiuntamente ad altri sei comuni dell'Alta Valmarecchia in attuazione dell'esito di un referendum svolto il 17 e 18 dicembre 2006. Contro la variazione territoriale le Marche hanno proposto ricorso alla Corte costituzionale, ma questa lo ha ritenuto infondato.