1927年，为抵挡国民革命军北伐，孙传芳与张宗昌握手言和，张率军南下支援孙传芳，因不满奉系势力南下，与其发生冲突，被迫流亡日本。1928年，上官回国，加入国民革命军，任第47师141旅旅长。1929年3月，升任第47师师长，7月升任第九军军长，参加中原大战以及对红军的围剿。1931年，在第三次反围剿战争的莲塘黄陂战斗中，上官部遭到重创。次年，率领整编后的47师投入对鄂豫皖苏区的围剿。1934年中国工农红军被逐出中央苏区后，上官率部参与了对长征红军的追击。1936年，上官因贪污丑闻辞职。1937年5月