Cudrefin est une commune suisse du canton de Vaud, située dans le district de la Broye-Vully.
Cudrefin est située dans la plaine, dans le Vully vaudois, au nord du mont Vully, sur la rive du lac de Neuchâtel en face de Neuchâtel, à au nord d'Avenches. Cudrefin est la commune la plus au nord du canton de Vaud. Le territoire communal s'étend le long de la rive sud du lac de Neuchâtel, du village de Champmartin jusqu'au canal de la Broye. En plus de Cudrefin, la commune comprend les villages de Champmartin () et de Montet (), sur le versant nord du mont Vully, ainsi que les hameaux de La Sauge (), sur le canal de la Broye et de Pégrand.
En 1997, le territoire était constitué de 7 % de zones bâties, de 24 % de zones forestières, de 61 % de zones agricoles, et d’un peu plus de 8 % de terres improductives.
Le village de Champmartin se situe dans un petit vallon au sud du mont Vully. Le village formait jusqu'en 2002 une commune à part entière, avant que celle-ci ne fusionne avec Cudrefin. Avant la fusion, la commune comptait 33 habitants (fin 2000) pour une superficie de .
Le village de Montet surplombe Cudrefin et abrite l'église Saint-Théodule, de style gothique et datant du . À proximité se trouve la cure, construite à la même époque également et transformée en style baroque par la suite.
La sortie de l'autoroute A1 à Avenches se situe à moins de , celle de l’autoroute A5 à Thièle à moins de . La gare ferroviaire la plus proche se trouve à Anet. Un service de bateaux relie Cudrefin à Neuchâtel. Un second débarcadère se situe à La Sauge, sur la ligne de bateau reliant Neuchâtel à Morat. Le service PubliCar est également disponible, comme dans tout le reste de l'ancien district d'Avenches. Depuis 2014, un nouvel horaire de bus de ligne a été mis en place avec une plus grande fréquence de transports permettant de se rendre à Avenches et Anet.
Le littoral de Cudrefin recèle au moins trois sites archéologiques. Au lieu-dit Le Brolliet se trouvent deux stations du Bronze final.
La commune de Cudrefin a fusionné le avec sa voisine de Champmartin.