Rafina lies on the Aegean Sea coast, east of the Penteli mountains and northeast of the Mesogaia plain. It is 5 km (3 mi) north of Artemida, 7 km (4 mi) south of Nea Makri and 25 km (16 mi) east of Athens city centre. The municipal unit of Rafina contains, besides the city itself, a large portion of the surrounding area, which is mostly woodland and farmland. The only other town is Kallitechnoupoli with a population of 923.
The town can be accessed through Greek National Road 54 (Athens – Pallini – Rafina), Greek National Road 83 (Athens – Marathon – Rafina) and Greek National Road 85 (Lavrio – Rafina).
Rafina is a port town serving ferries to the southern part of Euboea as well as most of the Cyclades. Its port is the second largest of Attica, after that of Piraeus, but it will probably be superseded by the one in Lavrio, which is currently being expanded.