In a Dutch oven, melt 1/4 cup butter over medium heat. Cook onions until tender but not browned. Add the potatoes, salt, pepper and water. Top with fish. Simmer, covered, until potatoes are fork-tender, 20-25 minutes.
In a large saucepan, heat milk over medium heat until bubbles form around side of saucepan. Stir in evaporated milk and remaining butter; add to fish and potato mixture. If desired, season with additional salt and pepper. Heat through.