Preheat oven to 350 degrees. Zest lemons onto a plate. Squeeze lemon juice from lemons into a liquid measuring cup; set aside.
Coat each piece of halibut with olive oil and season with salt and pepper. Place seasoned fish on a baking sheet. Cook for approximately 8 to 10 minutes, depending on thickness (Do not over cook). Medium cooked fish is safe to eat and is much tastier.
While the fish is cooking, place 1 tablespoon butter in a sauce pan over medium-high heat. When the butter melts, add the shallots and capers (with the juice) and the lemon zest (reserve some for the garnish).
Cook until the shallots are opaque. Add the lemon juice and bring to a simmer. Reduce the heat and add the remaining butter a little at a time, whisking vigorously, allowing each chunk to fully dissolve before adding more.
Place the fish in a serving dish and spoon the sauce over the top. Garnish with the rest of the lemon zest and sliced lemons if desired.