지금의 경상남도 고성에 있었던 것으로 비정된다. 《삼국유사》 5가야조에 “소가야는 지금(고려 초)의 고성(固城)”이라고 하였다.
《삼국사기》 지리지에는 “고성군은 본래 고자군(古自郡)”이라고 되어 있으며, 《삼국지 三國志》 위서 동이전 한조에는 변한 12국 중 고자미동국(古資彌凍國)이 있는데, 이 두 사서에서 ‘고자’는 동음이자(同音異字)로 표기되어 있음을 알 수 있다.
그런데 ‘고자’의 ‘자’는 성(城)을 뜻하는 우리 말의 고어이다. 그러므로 신라 경덕왕 때 ‘고자’를 고성이라고 고친 것이다. ‘고자가야’를 소가야라고 부른 것은 대가야에 대응한 말로 쓰인 것으로 보인다.
《삼국사기》 지리지에 따르면, 고성군의 영현(領縣)이 셋인데, 그 중에는 지금의 사천시 사천면을 포함하고 있는 사물현(史勿縣)과 지금의 진주의 동쪽까지 포함하고 있는 일선현(一善縣)이 있다. 그러므로 소가야는 지금의 고성군을 중심으로 해 인접 지역까지 포함되었던 것으로 추측된다.
《삼국사기》 신라본기 내해이사금 14년(209)조에는 포상팔국(浦上八國)이 가라를 침략했다는 기사가 있는데, 물계자(勿稽子) 열전에 따르면 포상8국에는 골포(骨浦 : 지금의 경상남도 昌原)·칠포(漆浦 : 지금의 경상남도 漆原?)·고사포(古史浦 : 지금의 경상남도 固城) 등이 포함되어 있고, 가라는 아라가야(阿羅加耶)로 되어 있다.
내해이사금조의 기사는 3세기 초의 일로, 남해안의 여러 작은 나라들이 통합을 위한 정복 전쟁을 벌였던 사실의 반영이라고 볼 수 있다. 소가야는 늦어도 대가야가 신라에 토평된 6세기 중엽 이전에 신라에 합병된 것으로 보인다. → 가야