From here:
The primary reason for requiring this washing is that in times of old (and again shortly when Mashiach arrives) before Kohanim were allowed to partake of Terumah they had to wash their hands to ensure they weren't impure. In order for them to get in the habit of doing so, the Chazal instituted this washing for all of Klal Yisroel, not just for Kohanim.
Another source states that Kohanim would wash their hands before performing the service in the Beis Hamikdash. Our sages say that our table is comparable to the Altar, and our bread like the offering brought on the Altar. Therefore we wash our hands before eating bread.
Furthermore, Qitzur Shulhhan Arukh (Yalqut Yosef) Siman 158, Se'if 1 states (Lee'sLee's translation):
It is a mitzwah from Divrei Sofrim to ritually wash one's hands before a meal with bread [...]. And they based this on the pasuq, "And you shall sanctify yourselves and be holy" (WaYiqra 20:7). "And you shall sanctify yourselves" refers to ritually washing one's hands before eating bread (literally: first waters) [Berakhot 53B; Hebrew, English].