Add 1 tablespoon of olive oil to a small saucepan and heat over medium heat then add 1 clove of the sliced garlic and cook for 5-7 minutes, lowering the heat so the garlic doesn’t burn but just steeps in the garlic oil and becomes fragrant. Remove from heat and set aside to cool.
In a small bowl mix the ricotta cheese and parmesan cheese and mix. Add the cooled garlic olive oil and mix in.
Sauté the remaining garlic slices in the remaining tablespoon of olive oil for 1 minute over medium high heat. Add the chopped spinach and artichoke hearts, season with kosher salt and cook for about 4 minutes or until spinach begins to wilt. Remove from heat and cover with a lid to keep warm.
Spread butter on one side of each slice of bread, then stack the two buttered sides together and repeat with the other 2 slices. Sprinkle the bread with a handful of the grated fresh mozzarella, then a layer of the spinach and artichoke hearts and half of the sun dried tomatoes. Add half of the ricotta cheese mixture and top with additional mozzarella cheese.
Place bread, buttered side down, in a non-stick fry pan over medium-high heat. Cover with lid and let cook for 3-4 minutes or until golden.
Reduce heat to medium and flip sandwich to the other side and cook for 2-3 minutes or until bread is toasty golden and the cheese has melted. The second side will cook faster than the first so watch carefully. Slice in half and enjoy hot.