To some degree this sort of thing depends on how accurate to the period you want to be but a couple of things occur to me.
Firstly, if its a ball, shouldn't you be in black or white tie? In the 1920s no-one would have attended a formal evening event in anything else. Tailcoats are likely to be a bit much and I don't imagine you have one or need one but a dinner jacket is surely a real possibility? Just try and make sure you buy a traditional one (peak collar or shawl collar, one buttoning and no vents) and pair it with a low fronted scooped waistcoat and stiff dress shirt. Have a look at the Black Tie Guide (its online and easy to find) for tips if you are interested - it includes useful sections on the history of the DJ/tuxedo and historical fashions.
If a dinner jacket is off the table, then a well cut suit is the obvious way to go. Thankfully there are certain similarities between 20s clothing and current fashions. Both tend to emphasise a slim silhouette so a fairly modern suit is probably going to meet your needs. For a properly 20s look, ensure it is paired with a waistcoat. If you can't find a matching one, you could try a light grey one with a navy suit. Consider going double breasted too (for both suit or waistcoat).
The real problem with your suggested outfit, however, is the roll neck top. Saving for the very most radical bohemian types, no-one would have worn it in the 1920s to anything remotely formal or dressy. Students might have paired it with some Oxford Bags when lounging about in their own rooms but that's about it - and even there a shirt with tie would have been more likely. So pair your suit with a plain shirt and tie. If you want something a little bit different, you could try a very slight stripe or a white collar and coloured body to your shirt, but for evenings I don't think you can beat a plain white shirt. Pair it with a tie in blue, black, grey or (if feeling very fancy) silver.
Finally, rent The Great Gatsby movie for style inspiration.