紫金鄉位于東經100°3′~100°7′、北緯25°25′~25°30′之間,東與永建鎮接壤,南與馬鞍山鄉毗連,西與漾濞縣瓦廠鄉隔江相望,北與大理市太邑彝族鄉交界。鄉人民政府駐紫金村委會金沙坪,距縣城72千米,距州府下關61千米。行政中心所在地海拔1 783米。
1988年前,紫金鄉隸屬馬鞍山區。1988年實行區改鄉區劃體制改革,馬鞍山區更名為馬鞍山鄉,將原屬馬鞍山區的紫金、民建、新建、新合4個鄉更名為村委會,并將4個村委會從馬鞍山區劃出后組建成立紫金鄉。
全鄉轄區面積171.61平方千米,耕地面積1 146.67公頃,其中水田186.6公頃、水澆地154.9公頃、旱地805.17公頃,人均耕地面積1.36畝。轄紫金、民建、新建、新合4個村委會,76個村民小組。鄉內有新合、紫金、白馬塘、巖雞場、洱海村5個集市。