In a small sauté pan, heat a few tablespoons of olive oil on medium. Add the shallots and garlic and cook until tender and translucent, 2-3 minutes. Add the tomatoes, lower the heat a tiny bit and cook for 10 minutes or until the tomatoes have released their juice and the sauce has started to thicken. Season with salt and pepper to taste. Add in the basil and set aside.
In a small nonstick fry pan, heat a tablespoon of olive oil over medium heat. Add the fish and cook until you see a nice golden color, 2-3 minutes. Flip, cover, and reduce heat slightly to medium-low. Cook for another 3-5 minutes or until the fish is opaque and easily flakes. Cooking time will depend on how thick your fish is.
Remove the fish from the pan and plate it on individual plates. Squeeze fresh lemon juice over it and top it with the sauce. Add a little more fresh basil if you like.