Diffusion and osmosis are both examples of passive transport. Passive transport does not require any energy to happen. It is a natural process that moves materials from an area of higher concentration to an area of lower concentration. The differences in concentration of materials is called a concentration gradient, and substances naturally move down (higher to lower) the gradient. For example, when you put a drop of food coloring in a glass of water, the food coloring will begin moving from where there is a high concentration of food coloring to where there is a lower concentration of food coloring. This will occur until equilibrium is reached and the food coloring is evenly spread out. Osmosis and diffusion both work passively based on a concentration gradient.
A difference between osmosis and diffusion is that diffusion can occur in any mixture (with or without a semipermeable membrane), but osmosis always occurs across a semipermeable membrane.
Another key difference is that osmosis is only the movement of water across the membrane.
When I teach this concept to my students, I stress that osmosis is the diffusion of water. I also like to say that all osmosis is diffusion, but not all diffusion is osmosis.