Xã Thạch Lâm nằm ở phía tây huyện Bảo Lâm, có vị trí địa lý:
- Phía đông giáp xã Nam Quang
- Phía tây và phía nam giáp xã Quảng Lâm
- Phía bắc giáp tỉnh Hà Giang và xã Nam Cao.
Xã Thạch Lâm có diện tích 92,97 km², dân số năm 2019 là 7.387 người[2], mật độ dân số đạt 80 người/km²