A sa création, en 1824, elle est décrite comme étant la route de Limoges à Moulins. Elle s'embranche à la sortie de la ville de Guéret, sur la route n°140, de Clermont à Poitiers, et joint, aux abords et en avant de Moulins, la route n°9, de Paris à Perpignan. Une partie, en avant de Montluçon, appartient à la route n°143, de Clermont à Tours, et une partie, à la sortie de la même ville, appartient à la route précédente, n°144. Elle succède alors à la Route impériale 165.
Cette route a survécu à la réforme de 1972 et s'est même agrandie vers l'Ouest jusqu'à rejoindre Bellac. Son nouveau tracé récupérait les éléments suivants d'anciennes routes nationales :
Elle devient en 1978 la route de Bellac, N. 147, à Moulins, N. 9.
En 1981, la mise en service de la RCEA à l'Est de Montmaurault a entraîné l'abandon de l'ancien tracé qui allait de Montmaurault à Moulins, via Souvigny, au profit du nouveau jusqu'à la RN7, à Toulon-sur-Allier, au Sud de Moulins.
Plus tard se déroule la construction de la déviation de Montluçon (mise en service en 1989 de l’échangeur de Chateaugay au Pont des Nautes et en 1994 de la VC5 à l’échangeur de Chateaugay). Si la section Ouest (jusqu'à la RN144) est d'emblée une route nationale, il faut attendre 1999 pour que la jonction avec l'autoroute A71 soit classée et intégrée à la RN145 (en récupérant au passage une partie de l'ancien tracé de la RN694). La traversée de Montluçon devient la RN2145 (jusqu'en 2006).
La section entre Montluçon et Montmarault devenue orpheline est alors renommée en RN371 (déclassée en 2006), tandis que la voie express Montmarault - Toulon-sur-Allier est intégrée à la RN79 pour assurer sa continuité de Montmarault (A71) à Mâcon (A6). Dans le même temps est déclassée la RN2145 entre Montmarault et Le Montet (itinéraire de substitution à la voie express).
La mise en service des 2 tranches de la déviation de Bellac le 27 juillet 2007 et le 21 janvier 2008 entraînent le déclassement de la section terminale de la RN145 dans cette ville.
2011 voit l’achèvement des travaux de doublement de la RN145 entre les autoroutes A20 et A71 :
La section entre Montluçon et Bizeneuille est absorbée par l'autoroute A714 le 1er juin.
La déviation Nord de Montluçon est doublée entre la zone d'activités de Châteaugay et le pont des Nautes le 12 septembre.
Tracé originel cédé aux RN2145 (entre Guéret et Montluçon), RN371 (entre Montluçon et Montmarault) et RN79 (entre Montmarault et Toulon-sur-Allier) en 1999.
En jaune
Tracé déclassé entre Le Montet et Moulins en 1981.