1. Preheat oven to 450°.
2. Place cauliflower in a large bowl; drizzle with oil, and sprinkle with 1/4 teaspoon salt. Toss to coat. Arrange mixture in a single layer on a jelly-roll pan coated with cooking spray. Bake at 450° for 40 minutes or until tender and browned, stirring once after 30 minutes.
3. Heat a large Dutch oven over medium heat. Coat pan with cooking spray. Add ham; cook 3 minutes or until crisp. Remove ham; drain on paper towels. Melt 1 1/2 teaspoons butter in pan. Add onion and garlic; sauté 5 minutes, stirring occasionally. Add cauliflower, stock, and 1 cup water; bring to a boil. Reduce heat, and simmer 20 minutes, stirring occasionally. Remove from heat; stir in half-and-half. Place half of cauliflower mixture in a blender. Remove center piece of blender lid (to allow steam to escape); secure blender lid on blender. Place a clean towel over opening in blender lid (to avoid splatters). Blend until smooth; pour pureed soup into a bowl. Repeat with remaining cauliflower mixture. Stir in remaining 1/4 teaspoon salt.
4. Place torn bread in a food processor; pulse 2 times or until coarsely chopped. Melt remaining 1 1/2 teaspoons butter in a skillet over medium heat; swirl. Add breadcrumbs; sauté 5 minutes or until golden, stirring frequently. Remove from heat. Combine ham, breadcrumbs, parsley, and toasted almonds. Ladle about 1 1/4 cups soup into each of 4 bowls; top each serving with about 2 1/2 tablespoons toasted breadcrumb mixture.