Opatija is located 18 km (11 mi) northwest of the regional capital Rijeka, about 90 km (56 mi) from Trieste by rail and 82 km (51 mi) from Pula by road.
The city is geographically on the Istrian peninsula, though not in Istria County. The tourist resort is situated on the Kvarner Gulf, part of the Adriatic coast, in a sheltered position at the foot of Učka massif, with the Vojak peak reaching at a height of 1,401 m (4,596 ft). As of 2011, the town had 11,659 inhabitants in total, of which 6,657 lived in the urban settlement.
The town is a popular summer and winter resort, with average high temperatures of 10 °C in winter, and 32 °C in summer. Opatija is surrounded by beautiful woods of bay laurel. The whole sea-coast to the north and south of Opatija is rocky and picturesque, and contains several smaller winter resorts.