Swallows end Stellies’ purple patch with shock win