La province d'Anvers a une frontière commune avec les Pays-Bas et les provinces belges du Limbourg, du Brabant flamand et de la Flandre orientale.
La province a une superficie de 2 867 km2, une population de 1 824 136 habitants et une densité de 636,3 habitants par km². Le point le plus septentrional de la province (et aussi de la Belgique) se trouve à Meersel-Drove, aux coordonnées 51°30′N 4°46′E / 51.500°N 4.767°E / 51.500 ; 4.767.
La capitale et la plus grande ville est Anvers, également la plus grande ville de la région flamande.
Son point culminant est le Beerzelberg, haut de 51,6 m, dans la municipalité de Putte, dans le district de Malines. Le point le plus bas de la province, avec 4 m de haut, se trouve dans la vallée de la rivière Grote Nete, près de Lier.
Le principal fleuve de la province est l'Escaut (en néerlandais : Schelde, en français : Escaut). Les autres rivières sont le Rupel, la Grote Nete, la Kleine Nete.