Check your battery. I know it sounds weird, but one year ago I had the same problem. Someone told me to check my battery, and even though the car had been starting fine, the battery was going bad.
I had to have the Speedometer and fuel guages replaced. Somehow, the "incomplete" electrical circuit screwed them up. Worst part was I was without a car for 1.5 weeks while they special made me a new speedo with the correct mileage on the odometer.