Set a large sauté pan over medium-high heat. Coat with olive oil and add garlic, onions, Italian seasoning and thyme. Thinly slice the Calabrese peppers and fold into the onion mixture. Season with salt and pepper, and sauté until well-caramelized, 7-8 minutes. Set aside to cool.
Trim the steak of any excess fat and remove any tough silver skin with the tip of a knife. Place the steak vertically on a clean cutting board (so the grain runs up and down). Using a sharp knife, make a flat cut down one side of the piece of meat and cut it open parallel to the board so you can open the steak up like a book. Sprinkle generously with salt and pepper.
On one side of the steak spread out the onion mixture. Top with the tomato slices, panko and shredded cheese. Tear up the basil leaves and scatter on top for the last layer of filling. Fold the flap of beef over the top to cover. Using a bamboo skewer, thread the steak along the cut edge to seal the steak back together and hold the filling in.
Heat a large cast-iron skillet or grill pan (or outdoor grill) to high. Coat lightly with some oil to clean and create a nonstick surface. Sprinkle the flank steak with salt and pepper on both sides, and then place on the hot grill. Cook for 5 minutes on the first side, and then use a large spatula to carefully flip and cook for a further 5 minutes on the second side for medium-rare.
When done, remove from the grill and set aside to rest for 5 minutes before slicing into 1-inch-thick slices.