Heat the oil: Heat a large heavy pot or a large Dutch oven medium-low heat, warm the olive oil until it begins to shimmer. Add the onions, salt, and pepper. Stir to combine.
Cook the onions: Cook the onions, occasionally stirring, for about 25-30 minutes. They will begin to caramelize and get a little color, just make sure you’re not browning the onions. Add a little water to the pot if the onions are too sticky while cooking down.
Add in the grated potatoes: Once the onions are golden, add the potatoes, and stir to combine. Add in the coconut aminos, stir to combine.
Add broth: As soon as the potatoes begin to soften a little 6-8 minutes), add in the broth and bay leaf. Bring to boil and then lower heat to simmer. Simmer for about 25-30 minutes, until the potatoes soften.
Adjust the salt + pepper: Taste the soup and adjust salt and pepper, if needed.
Prep the toasts: While the soup simmers,Heat your oven to broil. Place the bread slices on a baking sheet. Sprinkle the cheese on top (I used vegan mozzarella) and broil for 2-4 minutes (keep close eye on it) until the cheese melts.
Serve the soup: Spoon on portions of the soup and add a toasted bread slice per bowl. Or you could break up the toasted bread and place on top of the soup.