Inaugurato l'impianto nel 1850, l'originario fabbricato di stazione venne sostituito da un nuovo edificio realizzato nel 1910. L'abbandono del vecchio stabile si rese necessario con la crescita di importanza dello scalo, in concomitanza con il progresso economico e industriale della città che lo aveva reso inadeguato.[senza fonte]
La stazione dispone di un fabbricato viaggiatori costituito da tre porzioni contigue. La parte centrale dell'edificio accoglie, al piano terreno, la biglietteria, la sala d'attesa e un bar. La porzione sinistra del precedente ospita invece gli uffici, i locali tecnici e una postazione di Polizia ferroviaria. La costruzione a destra è occupata dai servizi igienici, utilizzabili anche dai portatori di handicap.
Globalmente la stazione possiede due ingressi a cui si aggiungono tre accessi diretti ai binari.
Lo scalo dispone di tre binari di circolazione, utilizzati per il servizio viaggiatori. Sono presenti inoltre binari secondari, adibiti al trasporto merci e alle manovre ferroviarie.
Movimento
L'impianto è servito dai treni regionali svolti da Trenitalia nell'ambito del contratto di servizio stipulato con le regioni Liguria e Piemonte e dai treni regionali di Trenord con destinazione Milano.
Presso la stazione sono attuati i seguenti interscambi:
Stazione taxi
Fermata autobus
Nel piazzale antistante la stazione fermano autobus urbani e suburbani, mentre nelle immediate vicinanze è presente la stazione delle corriere, capolinea delle tratte interurbane.
Fino al 1953 la stazione era inoltre dotata di raccordo merci con la linea per Ovada della Ferrovia della Val d'Orba (FVO), il cui servizio viaggiatori si attestava in corrispondenza del fabbricato FS.