Xavier Brown caught a touchdown pass and ran for another score as Virginia upset No. 23 Pittsburgh 24-19 on Saturday night.