경상남도지방에서 주로 성행하였으나 강원도·황해도·경기도의 일부 지역에서도 볼 수 있었다. 남부에서는 주로 이 놀이를 한가위에 벌인다.
싸움 날 아침 소 임자는 소를 깨끗이 씻어준 뒤에 여러 가지 천으로 꼰 고삐를 메우고 소머리에는 각색의 아름다운 헝겊으로 장식하며 목에는 큰 방울을 달아준다. 깨끗한 옷으로 갈아입은 소 임자도 머리에 붉은 수건을 옆으로 비껴 동이며, 오른편 허리에는 무릎에까지 이르도록 각색의 실로 수를 놓은 주머니를 찬 모습으로 소를 몰고 싸움터로 향한다.
소싸움 터에는 많은 구경꾼 외에, 각기 자기 마을의 소를 응원하기 위한 농악대가 모여들어 풍악을 울린다. 경상남도 진주에서는 남강(南江)의 모랫벌에서 소싸움을 해왔으나 관객이 점점 늘어나자 질서유지 등을 위해 넓은 운동장에 모래를 깔고 주위에 새끼를 둘러쳐서 일정한 공간을 확보하고 싸움을 시킨다.
소싸움을 주관하는 이를 ‘도감’이라고 하며, 도감은 싸울 소의 나이·체구 등에 따라 서로 비슷한 것끼리 짝을 지운다. 순서(대체로 약한 소부터 싸움을 붙인다.)에 따라 도감이 호명하면 주인은 소를 끌고 들어오며 소와 소 사이에는 미리 포장을 쳐서 가려둔다. 이것은 소들이 미리 싸우지 않도록 하기 위해서이며, 이 포장을 제거하는 순간부터 싸움이 시작되는 것으로 한다.
소들은 서로 뿔을 맞대고 상대를 떠받치고 밀기 시작하며 사람들은 이때부터 자기 마을의 소를 응원하는 함성을 지른다. 소싸움에는 무릎을 꿇거나 넘어지거나 밀리면 패하는 등의 요건을 미리 정해둔다. 어떤 소들은 포장을 거두자마자 맹렬하게 달려들어 15∼20분만에 결판을 내기도 하나 또 다른 소들은 좀처럼 싸우지 않고 모래만 차올리며 시간을 끌어서 사람들이 애를 먹는 수가 있다.
근래에는 이러한 것을 막고 더욱 격렬한 싸움이 벌어지도록 하기 위하여 싸움 직전에 소주 대두 한 병을 강제로 먹이기도 한다.
여러 마리의 소를 같은 소에 차례로 대결시킬 때에는 시간을 제한하지만, 단판 치기의 경우에는 승패가 결정될 때까지 계속시키는 것이 보통이다. 싸움에 이기면 소 임자는 물론이고 마을사람들까지 모여들어 소를 어루만지며 칭찬을 아끼지 않는다.
이긴 소의 목에는 우승기를 걸어주며 주인은 소등에 올라앉아 읍내를 몇 바퀴나 돌고 나서 마을로 돌아온다. 농악대를 앞세운 사람들은 ‘쾌지나칭칭나네’를 흥겹게 부르면서 뒤를 따른다. 구경꾼들 중에는 소싸움에 돈이나 술, 또는 담배 등을 걸고 내기를 하는 사람도 있다. 소싸움에 이기는 것은 개인뿐 아니라 마을의 큰 기쁨이므로 농민들은 송아지 때부터 골라서 잘 먹이는 등 특별한 관심을 기울여서 기른다.