Caminha is a Portuguese town in the district of Viana do Castelo, North region and sub-region of Alto Minho.
It is the seat of the municipality of Caminha, being subdivided into 14 parishes. The municipality is limited to the northeast by the municipality of Vila Nova de Cerveira, southeast by Ponte de Lima, south by Viana do Castelo, north by Galicia and west by the Atlantic Ocean.
The highest point of the municipality is on the plateau of Serra de Arga, at approximately 800 meters, near the highest point of this mountain range, the Alto do Espinheiro (825m).