It took just 12 minutes for Roberto Cesar to open the scoring for the home side before Han Sang-woon struck twice in the 48th and 69th minutes, the latter from the penalty spot.
Lee Jae-an pulled one back for Gyeongnam in the dying minutes but there was still time for Byun Woong to add another for Ulsan.
They remain at the top of the table with a slender lead over Incheon United, who were 3-0 winners at Busan I-Park.
Lee Chun-soo (13), Lee Seok-hyun (53) and Diogo Acosta were the scorers for the visitors.
Goals either side of half-time from Kim Sung-joon and Server Djeparov lifted Seongnam Chunma to a 2-0 victory over Daejeon Citizen.