The incident happened shortly after 12:30 a.m. at the corner of East Washington and Edith Streets.
The young victim was taken to the hospital with major injuries but is said to be stable.
The driver has been identified as 20-year-old Wesley Pickford of Novato, who admitted to drinking.
Police say his blood alcohol level was .15 percent, about twice the legal limit.