I don't find getting into 'food fights' with my DS helps, we tried leaving food there til he eats it but it doesn't work so DH and I decided to take a more overall approach meaning not get caught up on what he eats at one meal time but focus on what he eats over the whole day... Your son refused the sausage roll but ate the whole banana so in our house we would view that as a win because a whole banana is better for him than the sausage roll anyway and at least at properly.
We have found also when we eat a meal we make him eat at table with us but don't fuss on if he eats anything as long as he is with us so he learns the environment meal times of eating with us, he is served the same meal as us and if he does eat we praise him, if not we just let him chat and be with us with no pressure to eat (if he gets stressed we even tell him "it's ok you don't have to eat" and let him push plate away), we have found he will eat most nights now because he doesn't feel pressured too and knows he won't get in trouble if he doesn't eat.
After DH and I started to think about how we approached eating with DS we realised a few things that helped
1. Putting ourself in his shoes, we realised he was getting anxious when we were always negotiating terms of eating ie. Eat 3 bits, eat it now or stay at table till you finish etc
2. We don't always feel hungry at 9,12, 3 and 6 so why expect him too always want to eat at set times so made it breakky is anytime before 9, lunch is between 12 and 1:30 and dinner is 4:30 to 6ish depending on our plans for the day snacks are just when ever
3. He has his own tastes and it's ok for him to say no to eating some things but do encourage he tries new foods before saying he doesn't like it
4. Just like us he doesn't always want the same thing so mix up to meals for more variety
And lastly somedays he just isn't hungry...
Hope you have luck and find something that works for you...