Here is my prescription for a great race, roughly in order of importance...
1. A contest of skill with a high degree of difficulty. The cars and the track are compatible to create a stern test of racing/driving skill. Nascar's current rules (low power / high downforce / high drag) leave me grumpy and unsatisfied on this crucial parameter on intermediate tracks. The 2018 rules were close to perfect for me.
2. Close competition especially up front, includes some passing, some comers and goers. Passing is not easy, but is possible. (If passing is easy, then each pass is meaningless... you get an illusion of good racing, but not genuine good racing.)
3. It only takes two to make a great race *if* all the stars align, but a deep field of potential winners is a big plus. If it's the same two or three up front every week, that gets old in a hurry.
4. The outcome of the race remains in doubt until the end. If "my driver" wins or is in contention to win, that adds to my enjoyment of the race, but that doesn't make it a good race. If my driver utterly dominates, I'll enjoy the domination but admit it wasn't a great race. Same thing when my football team wins 42-3.
5. Plus factors, nice to have but not essential: a really big race such as a crown jewel event or a championship-deciding race; an epic comeback; an underdog upset winner.