The adsorption and surface reactions of SO2 on Ni(100), c(2x2)_O/Ni (100) and NiO(111)/Ni(100) surfaces have been investigated using X-ray photoelectron spectroscopy (XPS) and near-edge X-ray absorption fine structure (NEXAFS) technique. On Ni(100), chemisorbed SO2 is formed at 160 K. When SO2 is adsorbed on c(2x2)_O/Ni(100) at 160 K, SO2 reacts with oxygen to form SO3 and trace amount of SO4 species. SO3 is adsorbed on this surface with its C3 axis perpendicular to the surface. On a NiO(111)/Ni(100) surface, both SO3 and SO4 species are formed at 160 K from adsorbed SO2.