Heat butter in a large pan over medium heat. Cook the onion until tender, about 5 minutes. Stir in rice and cook until coated with butter, about 3 minutes.
Pour in wine and bring to the boil; cook until absorbed, about 3 minutes. Stir in half the stock and cook gently for 10 minutes, stirring frequently. Add remaining stock and cook until rice is tender and liquid is absorbed, about 10 minutes.
Gently stir in mackerel, spinach and spring onions; season with salt and pepper. Cook until spinach is slightly wilted, 3 to 5 minutes.