Remaining in the single market would leave many voters feeling the referendum result had been ignored, according to John McDonnell.
The shadow chancellor said he was keeping “all options open” over a second vote but insisted polling showed there had been no change in public opinion.
Leader Jeremy Corbyn is expected to give a speech on Monday setting out Labour’s approach to Brexit following criticism that its position is unclear.
Asked why Britain cannot remain in the single market, he replied: “I think many people who voted for Leave and others may not feel that is respecting the result itself because we have to adopt all of the four freedoms.
“We think we can develop a new relationship with Europe which overcomes many of those perceived dis-benefits and that is why we think we can get as close to the single market as we can and gain the benefits of that single market.”
Mr McDonnell said Labour wanted the creation of a new customs union.
He said: “We are not supporting membership of the customs union but we are looking at a customs union.
“The reason we are saying a customs union is because we don’t want the same asymmetric relationship that Turkey have got.
“What we would want is to negotiate around our ability to influence the trade negotiations that would take place on behalf of us all, both ourselves and other European countries in terms of trade via a customs union.”
Mr McDonnell said he would “rather have a general election” than a second referendum.
“There needs to be a wider debate about the future of the country setting our future relationship with Europe in that context.
“That’s why I would prefer a general election, but we are keeping all options open.”
Mr McDonnell said all the analysis of polling the party had been doing on whether voters wanted another referendum showed “there hasn’t been a shift”.
“It’s virtually 50/50 at the moment,” he said.
“From the analysis of all the poll of polls, there has been some shift but it is in both directions, so they have cancelled each other out.”