1) Heat oil in a non-stick frying-pan over medium-high heat. Lower heat to medium. Add onions and saute, stirring, until edges are browned, about 10 to 12 minutes. Season with salt and freshly ground black pepper, to taste.
2) Place cheddar on one slice of bread. Spread one tablespoon iof caramelised onions on top of cheese and top with slice of pepper Jack. Top with one large or two medium slices tomato and other slice of bread. Repeat with three other sandwiches.
3) Spray a nonstick frying-pan or griddle with cooking spray and heat until hot. Place sandwich on griddle and weigh down with a heavy pan or plate. Lower heat to medium-low and grill until underside is a deep brown but not burnt and cheese is partially melted, about 5 to 6 minutes. Flip sandwich and grill other side, an additional 4 to 5 minutes. Slice in half and serve hot.