La gare est inaugurée en 1855. Elle porte alors le nom de gare de Penthalaz-Cossonay. Toutefois, de par l'importance du chef-lieu du district, la gare est renommée gare de Cossonay en 1913. Elle a ainsi porté plusieurs noms[2].
En 1897, afin de relier la commune de Cossonay à la gare, une ligne de funiculaire est construite et mise en service[2].
En 2007, la gare se nomme toujours alors gare de Cossonay depuis 94 ans. Néanmoins, le canton de Vaud subit un redécoupage territorial et le district de Cossonay est dissout. La commune de Cossonay se retrouve dans le district de Morges et celle de Penthalaz dans celui du Gros-de-Vaud. Or, la gare se situe physiquement sur le territoire de Penthalaz. La municipalité souhaite alors que la gare soit renommée gare de Penthalaz, ce que ne souhaite pas la municipalité de la commune de Cossonay qui préférerait que le nom actuel soit conservé. Il s'ensuit un débat politique de plusieurs années où deux propositions de noms en ressorte : gare de Cossonay-Penthalaz et gare de Penthalaz-Cossonay[3]. En mai 2012, l'Office fédéral des transports préconise le nom de gare de Cossonay-Penthalaz. La décision finale revenant au Conseil fédéral, celui-ci choisit de suivre les recommandations de l'OFT et le nom final retenu est gare de Cossonay-Penthalaz. Les deux communes sont avisées le lundi 17 mars 2014[4]. Le changement de nom prend effet le 14 décembre de la même année avec l'introduction du nouvel horaire. Le 12 décembre les panneaux portant les nouveaux noms sont posés[5].
De janvier 2021 à l'été 2022, les CFF procèdent à la modernisation de la gare par un rehaussement des quais et un second passage sous-voies ainsi qu'une couverture du quai central [6].
Service des voyageurs
Accueil
Cette gare CFF dispose d'un bâtiment voyageurs, avec salle d'attente ouverte tous les jours. Sur le quai central, la gare est équipée d'un automate pour l'achat de titres de transports et d'une aubette.