While using a sharp serrated knife, place the whole tomatoe upside down on the cutting block. Cut down through the tomatoe without cutting through (I.e. Let the top of the tomato hold together).
Cut as thick or thin as you want. If you want slices, then once you have cut then all then turn the tomato on its side and hold the tomato together with the top toward your knife and slice through and you'll have a neat stack of slices.
If you want diced or chopped, then leave the tomato upside down and turn it 90 degrees. Hold the slices together. Slice down to but not through the top again, as thick or thin as you like.
Now the fun part. Turn the tomato over onto its side so that the stem points away from the cutting board. Hold the tomatoe around so the pieces don't slide all over, and slice down through the tomatoe starting at the bottom of the tomato for the first slice.
You should be gifted with a perfectly chopped or diced tomato, uniform pieces and a top of the tomato being all that's left.
Works perfectly for onions too, with the exception of cutting the onion in half through the base first.