Use a high-quality acrylic latex paint to paint asphalt shingles. Paint the shingles as you would anything else.
Add a little water to the paint if it is too thick to evenly coat the texture of your tiles. Since asphalt shingles have a grainy texture, it may not be possible to coat it entirely without diluting the paint a bit.
Buy a paint designed specifically for use on roofs if you have qualms about using a regular paint. Behr is one brand that makes a paint specifically for roofs.
Consider using an aerosol spray paint. This will help prevent dripping and ensure a more even coating than regular paint.
Choose an elastomeric paint for maximum adhesion and coating. These paints are intended to be durable and provide insulation, potentially helping to lower your energy bills in the long run.
Repaint your shingles every few years to keep the color looking fresh if you use a standard acrylic paint. Wear and tear can end up making your roof look splotchy over time, but adding a fresh coat of paint periodically will help.