It happened outside Westville Pub, located at 777 Haywood Road, just after 1 a.m. Saturday.
According to police, Asheville resident Keith Blair, 31, was killed. Two others are hurt, one being in critical condition.
Asheville police said over 30 shell casings were found and seven vehicles were hit by bullets, WLOS reported.
In a statement on Facebook, Westville Pub said the unidentified suspect fired at patrons and staff.
"We are saddened by the pain and loss of this event and we hurt for our fellow families and patrons affected by it. That said, we don't tolerate any form of violence in our pub and we will not let this incident define who we are," the bar's statement read.