Bring a medium-sized pot of water to a boil. Cut the stem end out of each tomato. Cut a small, shallow X into the blossom (curved) end of each tomato. Submerge the tomatoes into the boiling water for 1 minute. Lift out of the water and set on plate. When cool enough to handle, pull the skins off the tomatoes (they should slip off easily). Cut each tomato in half, remove and discard the seeds, and then chop the flesh and place in a bowl. Add any liquid from the cutting board to the bowl.
Heat 1 Tbsp. of the oil in another pot set over medium heat. Add the onion and garlic and cook until tender, about 5 minutes. Add the chopped tomatoes, stock, paprika and cumin and bring to a gentle simmer. Gently simmer until the tomatoes are very tender and falling apart, about 20 minutes.
While the tomatoes cook, preheat the oven to 400 degrees F. Place the halibut in a parchment paper-lined baking dish. Brush with the remaining 1 Tbsp. olive oil and season with salt and pepper. Bake for 15 minutes, or until cooked through. When the tomatoes have cooked 20 minutes, stir in the basil or oregano and season with salt and pepper. Plate the fish, top with sauce and serve.