At the end of Trump rallies, order breaks down and people are tired. To those seeking to shock, injure, annoy or make a point, it’s go time. In El Paso, on the US’s southern border, at Trump’s first campaign-style rally of 2019, two people unfurled the flag of the Soviet Union.

This happened inside the El Paso County Coliseum. I was outside in the parking lot, with about seven thousand others, shivering in the frigid desert night. Inside, Trump was winding down his speech and people were leaving. Suddenly there was a commotion at the exit. A pair of young people wearing black were hurrying out of the building, holding the large Soviet flag, being chased by a pack – a posse – of cowboys. I have seen some curious things at Trump rallies, but none stranger than the sight of four cowboys running after two people carrying a giant red USSR flag, hammer and sickle and all, through a parking lot in El Paso.

When I say cowboy I mean cowboy. Though we were deep in Texas, only a few in Trump’s audience were wearing cowboy hats, or adhered in any way to our mental picture of a cowboy. But these four young men did. They were clean-shaven and short-haired, they wore cowboy hats and cowboy boots and snug unfaded Levis. They ran after the Soviet flag-bearers, trying to grab it and in that way – I presume – sap it of its awesome power. But the communist sympathisers were fast and crafty. They weaved through the crowd with alacrity, while the cowboys moved awkwardly, their cowboy boots a bit too stiff and their pants a bit too snug.

A swarm of rally attendees followed the melee with their blue-lit phones. Soon a trio of police officers entered the picture. Two of them slowed the cowboys, allowing the communists to leave the parking lot. “USA! USA!” the cowboys chanted to the disappearing flag-bearers, and much of the crowd joined in.

It was a spectacle at the end of a long night, and it briefly enlivened the crowd outside – who showed up too late to get a spot inside the warm Coliseum and thus had to watch Trump’s speech on a giant screen in the cold. It was one of so many unexpected happenings that day in Texas, but at least cowboys v communists we can understand.

Into the Coliseum … Donald Trump and Beto O’Rourke go head to head in El Paso. Composite: Getty

This was 11 February 2019. A week before, Trump had given his State of the Union address, in which he made his case for the wall and painted a dubious picture of El Paso as a lawless city, which had become safe and prosperous after a wall had been constructed in 2009, separating it from Mexico. Many El Pasoans, including Mayor Dee Margo, objected to this characterisation, citing statistics that disproved Trump’s statements, but Trump did not correct himself and did not back down.

Instead, he took his case to El Paso, a city that shares a vast symbiotic metropolitan area with Ciudad Juárez in Mexico and bills itself as the largest binational urban area in the world. El Paso’s population is 80% Hispanic, and is considered a Democratic stronghold. The city’s most famous politician is Beto O’Rourke, the former congressman who unsuccessfully ran for Senate against Ted Cruz –but in the process gained a national following and has been considered a viable candidate for president. O’Rourke is young – 46 – and eloquent, and has the kind of charisma that brings to mind JFK and RFK and Obama. With his thick salt-and-pepper hair and lanky athleticism, he looks like he’s fallen from a bough of the Kennedy tree. He had decided to hold a counter-rally directly coinciding with Trump’s speech.

How to explain the Trump supporters who held signs that read ‘Finish the Wall’, when Trump has not begun con­struc­tion?

It was Trump’s first rally since he was soundly defeated in the game of shutdown chicken he played with Nancy Pelosi in December and January. Holding a rally head-to-head with O’Rourke, in O’Rourke’s backyard, after insulting the city of El Paso on national television, seemed like a very bad idea in every possible way. But Trump has always done the wrong thing and has usually been rewarded for it. So that we can explain.

But how to explain that about half of Trump’s audience that night in El Paso were people of colour, most of them Latino? How to explain the fact that Trump attracted 15,000 supporters to his rally, while O’Rourke garnered only 4,000 people to his event, held in his hometown, on the same evening? How to explain the thousands of Trump supporters who held signs – given to them when they entered the Coliseum – that read “Finish the Wall”, when Trump has not yet begun any construction on said wall? And how to explain the Trump campaign’s decision to follow his speech with the Rolling Stones’s “You Can’t Always Get What You Want?”

El Paso is a bustling city surrounded by desert, everywhere touched by white dust and bright sun. In the morning, I watched the area around the Coliseum, as early arrivals to the rally parked their cars. Their licence plates read Arizona, New Mexico, Pennsylvania, even Florida. One giant RV arrived bearing every flag made to celebrate Trump, Pence and the making great of America again. These fans, who started lining up at 9am for a rally scheduled to begin at 7pm, were the kinds of people we assume Trump attracts: that is, white people.

The Coliseum, less than a mile from the Mexico border, is near a working-class neighbourhood of small ranch houses, and many of them had opened their driveways and yards to attendees’ cars, generally charging $10 for parking. As the day went on, I stood at the corner of Paisano and Shelter, where the rally-goers had to pass on their way to get in line outside the Coliseum, and the crowds arriving defied all expectations. There were Latino families. There were African Americans. There were biracial couples. Young South Asians and Pacific Islanders. About half of the people rushing to get in the long line that stretched far down Paisano were people of colour. A good third of them were under 30.

As I watched the line grow, I met two T-shirt vendors who had parked their carts, full of Trump hats, hoodies and pins, in the path of the attendees. Angel Gaudet and Skaheen Thompson, both from South Carolina, have been following Trump to his rallies since his 2016 campaign. Gaudet and Thompson don’t work together, but have seen each other on the trail and consider themselves friendly competitors. And since Trump announced his candidacy, business has been good. Selling Trump gear – especially MAGA hats, which they say are by far the bestselling item – they can make as much as $2,300 in one day.

Trump supporters gather to attend his rally in El Paso, Texas. Photograph: Paul Ratje/AFP/Getty Images

Over the past few years, they have become Trump supporters, but have nuanced views about him and his policies. “I like that he makes it happen,” Gaudet said. She is white, wore a pink hoodie and her hair was dyed green. She spoke with a drowsy, raspy drawl. “His mouth, his overall attitude, is fucked up,” she continued, “how he talks about people or to people sometimes. Sometimes I guess he gets caught up like anybody else. But overall he’s like, ‘If you ain’t for us, then we ain’t for you. Get the fuck on.’ You know what I mean?”

“I love that,” said Thompson. “He’s for America 100%. It’s America or no way. I love that.” Thompson is an African American man in his early 20s. He was wearing a camouflage shirt under black overalls, with a large pin on his chest depicting a cartoon boy – a mashup of Calvin from Calvin and Hobbes and Trump himself – urinating on the CNN logo.

People continued to walk past us en route to the rally. Mothers and daughters in University of Texas-El Paso sweatshirts. A man wearing an Uncle Sam costume. Groups of young men and groups of young women, and couples holding hands and dressed up as if the rally were a night on the town. A middle-aged blond woman rushed by in a head-to‑toe suede outfit, fringes flying as she crossed the street, the lights of the Coliseum beckoning.

“I really think Trump can help put order in this world,” Gaudet said. “Because right now it’s just a mess. And I think he can do that because of his attitude. He just, he don’t give a damn if the next person gets mad or not. As far as becoming a president and putting shit in order, I think he could be that dude to put shit in order.”

A man walked by wearing a sleeveless denim jacket with a rendering of a grim reaper on the back. The staff of the reaper’s scythe was an AK-47, the blade an American flag. He stopped briefly to inspect the merchandise. I asked Gaudet and Thompson how, as self-employed entrepreneurs, they got their healthcare.

“Right now I don’t even have healthcare,” Thompson said.

“I go to the emergency room,” Gaudet said, laughing.

“I just go to the emergency room,” Thompson agreed.

I asked if they would support higher taxes for millionaires if it meant that people like them would get free healthcare. Gaudet didn’t hesitate. “No, because one day we might be the millionaires.”

***

Just down the way from Gaudet and Thompson, a woman with long grey hair was standing alone holding a sign featuring a photo of Trump digitally manipulated so that he was wearing a giant sombrero. The words “El Mamón” – the closest English equivalent would be “cocksucker” – were printed in large letters below. She stood at the stoplight and was getting periodic honks and thumbs-up from cars passing by. Meanwhile most of those walking to the rally had to pass her, and she’d gotten a long look at the strength and diversity of the audience, and she was surprised.

“I really am,” she said. “But you know what? My sister, she’s a Trump supporter. It got to the point where we don’t talk to each other no more. I mean, you can’t have a conversation.”

This sister, she said, works for US Immigration and Customs Enforcement (ICE). And in the last few years, her sister has taken a harder line on all immigrants, who she considers a drain on the social safety net, taking benefits they are not entitled to.

“She even has a thing against our mom! Our mom was born across the border, but she came over here and she got her citizenship. And Mom gets social security and they took some away from her, so my sister starts telling my mom, ‘You see. That money they took away, they’re giving it to these people coming over illegally.’”

She looked at the traffic coming down the road. I asked if her sister always had these feelings about her mother. “No, ever since Trump. Then she starts throwing it in our face, you know? For this past Thanksgiving, we didn’t have Thanksgiving together. Isn’t that sad?”

I asked the woman if I could have her name, but she declined. “I work for the sheriff’s office,” she said.

***

The Trump rally in El Paso in February 2019. Photograph: Joe Raedle/Getty Images

The woman with the El Mamón sign was one of a very few visible protesters. Those opposed to Trump were assembling next to Bowie High School, about a mile away, with the intention of marching from there to the park, across the street from the Coliseum, where O’Rourke was holding his counter-rally. The plan, though, left the Trump supporters largely unopposed by protesters, a rare state of affairs when a Trump rally happens.

In any case, there was a recording being broadcast into the Coliseum parking lot, advising Trump supporters on what to do if a protest were to break out during the rally. “While we all have a right to free speech,” a woman’s voice said, with a chilling mixture of bright cheer and implied menace, “this is a private event, paid for and hosted by Donald J Trump for President, Inc. And you came to hear the president.

“Some individuals,” she continued, “might try to disrupt our patriotic event. The president needs your help in maintaining a peaceful atmosphere at all times. If a protest starts near you, please do not, in any way, try to harm a protester. Please notify a law enforcement officer of the location of the protester by holding a rally sign over your head and chanting, ‘Trump, Trump, Trump’. Encourage those around you to do the same until officers can remove the protester from the rally.

“We’re glad you’re here for this special occasion with President Donald Trump. Thanks for helping us to make America great again.”

When her announcement was finished, the loudspeaker played Lynryd Skynryd’s “Free Bird.”

***

The incongruity of the music played at Trump rallies is one of the distinct pleasures of attending these events. There is a high likelihood that there is a prankster hiding inside the Trump campaign machinery, and this prankster has been put in charge of the playlist. At the first Trump rally I attended, in August 2016, the song played immediately after Trump finished his speech was Elton’s John’s “Tiny Dancer”. Trump had recently made the size of his hands (and presumably, his feet) a campaign issue, so the choice of “Tiny Dancer” could not have been accidental in a day that had otherwise been planned down to the minute. I had admired that DJ greatly and am sure that she or he is still on the job, for the musical choices played before and after Trump rallies still makes no conceivable sense unless it’s understood as a wry commentary. Never is there simple country music, or music by anyone who actually supports Trump. Instead, the music is meant to make us think.

This day in El Paso, as the attendees filed into the Coliseum, a 30-minute mix of songs, instructions and archival recordings played in a loop, the juxtapositions evidence of the same prankster’s wit. There was a lot of Queen and again, Elton John. “Free Bird” was followed closely by the Village People’s “Macho Man”. Shortly thereafter there was a recording of a newscast from the night of the 2016 election, wherein the newscaster counted the electoral votes and declared Trump the winner. This itself was strange enough, coming two years after the election. Stranger still, that this recording was followed by the Rolling Stones’ “Sympathy for the Devil”.

***

In El Paso, nothing was more unexpected than the startling diversity of the crowd that came out

Another crucial benefit of going to these rallies is that nothing is as you would expect. Everything is richer, stranger, full of relentless complexity. In August 2017 I went to a rally in Phoenix where the anti-Trump protesters equalled the Trump fans, and among these protesters were 24 members of the John Brown Gun Club, an armed progressive militia who that day were carrying loaded AR-15s. That was surprising.

Today in El Paso, nothing was more unexpected than the startling diversity of the crowd that came out. Two men were sitting in front of the Salvation Army depot, watching the proceedings as they would a parade. Mando Ramirez, 68, was from the farming town of Fabens, Texas, his face showing the deep tan-lines of a life spent in the sun. Daniel Gonzalez, born and raised in El Paso, was a college student with soft features and an easy smile. The two men had just met. They both considered themselves politically independent.

“He’s practising the democratic process,” Gonzalez said about Trump. Gonzalez had considered attending the rally just to hear what Trump had to say. He appreciated Trump’s willingness to try novel policies, even with the wall – not that Gonzalez thought the wall was a solution. “We do need some policy for it, but walls are not gonna stop anything. We’re gonna build tunnels, build ladders, airplanes, trampolines. It doesn’t matter.”

“If anybody’s gonna run against Trump, they better bring something to the game,” Ramirez said. He felt there were two primary issues for 2020. One was the economy. “The other,” he said, “is keeping our country strong against Korea and them assholes, people like that. I like that about Trump. No matter what a president does, somebody’s always gonna disagree. We needed somebody like Trump. We were getting weaker and weaker.”

I asked Ramirez if he felt Trump had done all he’d promised. “Yeah, I mean, he can’t do everything,” he said.

***

Illustration: Sébastien Thibault

Beto O’Rourke’s rally was scheduled to start at seven o’clock. First there would be the march. At about four o’clock, O’Rourke was standing near a grandstand, talking to a few people. He was surrounded by cameras. A few minutes later, he walked across the park holding the hands of two young children, backlit by the golden light of a setting sun. A half-dozen aides and cameras preceded him, capturing the moment.

Nearby, a woman was holding a box of plastic battery-powered candles, and offered me one. She said her name was Tracy Sias. She’d driven all the way from Tucson to be at the O’Rourke rally. “I came here to give him” – she gestured toward Trump’s rally – “and all of them, the finger. Simple as that.”

She’d asked her best friend to come with her, but her friend said that if she came, she’d be on the other side of the street, at the Trump rally.

“My jaw dropped!” Sias said. She was loud and funny and cursed like a sailor. “She’s my BFF, my friend since the womb. Our mothers were pregnant at the same time.” She and her friend had grown up in Massachusetts. “I’m an original Masshole,” she said. “We’ve been friends for ever, 50-odd years. She knitted me a pink pussy hat last year for the women’s march!” But then something had changed. Her friend had recently moved to South Padre Island.

“Living down there with all those rednecks? It’s right outside Brownsville, you know, right on the border. Now she wants to build a wall, or lock ’em out, or whatever shit they say. She gets so angry!”

There were two button badges on her jacket. One was a pro-gun rights badge – “I like guns,” she said. “I got no problem with guns” – and the other was a Build the Wall badge. “I got this for my BFF as a joke,” Sias said. “I took a picture and told her, ‘I love you. Even though you’re an asshole.’”

***

It was getting bitterly cold, so I ran back to my car to get another coat. In the neighbourhood where I had parked, an African American Trump merchandise vendor was wheeling his cart through the narrow streets, going home.

“Fuck Trump!” a man yelled.

It was unclear where the voice was coming from.

“Fuck Trump!” the man yelled again.

“Don’t have to tell me!” the vendor yelled back, and kept going.

The voice was coming from a large man standing in his front yard. He was about six foot two and sturdily built. He wore a black tank top featuring a photo of a woman in a white tank top. The upper row of his teeth were capped in silver. Though he’d been yelling “Fuck Trump” seconds ago, when we began talking he was softly spoken and ended most of his sentences with the word “sir”.

The man’s name was Adrian Saenz and he’d been born and raised in El Paso. He was a truck driver, primarily delivering furniture in El Paso and across the border in Mexico. He lived in the neighbourhood near the Coliseum and had seen no difference in safety before and after the walls had gone up.

Trump Jr has the same arrogant charisma as his father. He worked the crowd masterfully

“El Paso’s always been a safe city, sir,” he said. But he didn’t think a wall would have any effect on illegal immigration. “Honestly, sir, in this neighbourhood, there’s about three, four houses full of illegal aliens. And I’m talking about full. And that wall ain’t doing shit. If you were to be here on a daily basis and just stand at the border, you would see people jumping that wall like nothing.

“You could go downtown, sir, and those small businesses that are selling candy and stuff, you open up a little tunnel and people cross all day there. I mean, the statements that he’s making are just to his advantage, sir.”

But he didn’t consider Trump a racist.

“Being Mexican, I was born here, but I don’t think he’s racist. A lot of people want to jump on that real quick, but he has hired a lot of Mexicans, sir. Most of the people that built his projects are Mexican. In Manhattan, a lot of Latinos were hired. I mean, he’s a smart man. His dad loaned him a million dollars, and he became a billionaire. You know what I mean?

“Honestly, the thing I like about Trump … I mean, I hate him. It’s like a yes and a no, you know what I mean? I wouldn’t mind if he was president again, because he doesn’t give a damn, because we need someone in office who puts down their foot. The only thing I don’t like is that asylum stuff. My family paid for people to come over the border legally.” Saenz objected to members of the caravan, for example, who might get asylum simply by showing up at the border. “From one Latino to another Latino, everyone just wants to get a bite of the pie. But there’s a right way to do it. They shouldn’t get benefits by coming that way.”

As we were talking, a loud roar came from the direction of the Coliseum. Senator Ted Cruz had just been introduced.

***

Trump Jr at the El Paso rally. Photograph: Nicholas Kamm/AFP/Getty Images

That Cruz would garner a rousing ovation from thousands of people shivering outside on a cold El Paso night defied all presumptions. But the crowd cheered loudly for him, and as I walked back to the Coliseum parking lot, I heard his disembodied voice introduce an idea that is, perhaps, one of the more diabolically brilliant pieces of political propaganda conjured in some time. Trump needs to be re-elected, Cruz said, because he “needs time to finish the wall”.

This was the first time this idea was introduced, the idea that the wall did not need to be begun. It did not need to be built. It needed to be finished. When I got to the Coliseum parking lot Cruz was speaking on the big screen, and all around him Trump fans were holding signs they’d been given when they entered the building. These signs read “Finish the Wall”. The layers were dizzying. On the campaign trail in 2016, Trump had promised to build a wall and compel Mexico to pay for it. He’d built five samples of the proposed wall in the San Diego desert. And yet in two years of Republican rule of Congress, Trump had not begun building the wall. After the Democrats took the House of Representatives in 2018, Trump decided it was the time to build the wall, and shut down the government for 35 days, hoping that the closure of the federal government would convince Pelosi and the House to give him $5.7 bn dollars to build the wall. This did not happen. To date, no new wall construction has begun anywhere along the southern border. And yet, a few days after this El Paso rally, Trump would have to make a decision whether he would again shut down the government, or else accept a compromise brokered by congressional leaders. The number being floated was $1.3 bn, which the Democrats were willing to give in exchange for various concessions.

And though this deal was not done, and again, no wall construction had begun anywhere, the Trump campaign tonight had introduced the idea of finishing the wall they had not begun constructing. And conveniently, in the hazy world of Trump’s facts and numbers, the $1.3 bn he was likely to get from Congress appeared to be enough to finish the project. The missing $4.4 bn no longer mattered. It did not matter, either, that none of the wall that he’d promised had been erected. Or that Mexico would not pay for it. Or that any wall that did get built would not look like the concrete curtain he had originally envisioned. Now, Trump’s audience was happily participating in a real-time revision of reality, one in which the wall was just … about … done.

Ted Cruz finished his brief speech and introduced Donald Trump – the crowd roared at those two words – Jr. There was momentary deflation but then real enthusiasm as Trump Jr appeared to Neil Young’s “Rockin’ in the Free World”, a song most assuredly not authorised to be played at a Trump rally. Now sporting a beard, Trump Jr mentioned that he had just been in Texas a week before, on a hunting trip with friends. The crowd loved it. He denigrated socialism and the crowd loved it. His stage presence and comfort behind the microphone were remarkable, and portend trouble for those opposed to all that Trumpism represents, for it’s obvious that Trump Jr could run for office in Texas, and many other states, and win. He would trounce Cruz or John Cornyn in a primary. He is young, he shoots guns, kills animals, and has the same arrogant charisma as his father. He worked the crowd masterfully and, unlike his father, he is concise and disciplined on stage. Those worried about a Trump dynasty continuing with Ivanka should look beyond her to Donald Trump Jr. He has said and tweeted countless xenophobic and plainly ignorant things but, unlike his sister, he leans into controversy, not away from it. He has fire in his belly and seems to be enjoying his notoriety more every day.

In his short speech, he mentioned that America was good, that the American flag was good, that freedom was good and that guns were good. He gloated about the comparative size of O’Rourke’s rally – which he said was tiny – and ceded the microphone to his father.

***

O’Rourke takes selfies with supporters at the El Paso rally. Photograph: Christ Chavez/Getty Images

A few hundred feet away, at the O’Rourke event, people were still streaming in to the fenced-off park. A stage had been set up and a band had just finished playing. O’Rourke took the microphone wearing a light-blue button-down, his shirtsleeves rolled up to the elbow. The audience was diverse in every way. There were college students, families, ageing hippies, and overall a very high women-to-men ratio. They held placards that read “El Paso Is Safe/Trump Is Not” and “We Shall Overcome His Combover”.

There was scattered talk about whether or not the giant inflatable chicken with the face and hair of Trump would make an appearance, but it was nowhere to be seen. In the middle of the audience, two young people in black hoodies held up a paper mache facsimile of Trump, dangling by the neck from a rope.

Though O’Rourke spoke beautifully, the verdict of the night had already been made, and he had lost

When O’Rourke spoke, he was eloquent and passionate about American immigration and the unique ways that El Paso has historically coexisted with Mexico. There was no teleprompter visible, no notes, no podium even, and yet he strung together sentences startling in their lyricism. He noted the little known but remarkable fact that the border cities of the US, San Diego and El Paso among them, are among the safest large cities in the country – safer than interior cities such as Chicago, Detroit and St Louis. “El Paso,” he said, “has been the safest city in the United States of America, not in spite of the fact that we are a city of immigrants, but because we are a city of immigrants.”

Periodically he translated his own speech into Spanish, and though he spoke beautifully to a rapt audience, and though his case was utterly convincing, the verdict of the night had already been made, and O’Rourke had lost. Across the street, Trump had come to O’Rourke’s backyard and had attracted a crowd at least four times larger. And when O’Rourke was finished, and his audience had left the field, Trump was still going strong at the Coliseum.

***

I ran from the O’Rourke event back to the Trump rally, and before I got to the Coliseum parking lot, I caught Trump saying “Remember, it’s America first!” to huge applause. The cheering lasted as long as it took me to get from the far end of the parking lot to up close to the screen, after which another “USA! USA!” chant had broken out.

“Our agenda is not a partisan agenda,” he continued, “although some people say that it is. It’s a mainstream, common-sense agenda of the American people.” I could see him on the giant screen, with about 5,000 people surrounding it. Most were wearing red MAGA hats, giving the scene an eerie Minion-like aura. It was cultish and a bit ominous from afar, but as I got closer, the scene grew far more casual. There were food trucks, and the lines to get burritos and churros were long. People milled about, checked their phones and looked for friends.

There is virtually nothing Trump won’t say, so when he’s off-script, there’s no way to stop watching once you begin

For a while I stood near a Latino family of seven. There were two men in their late 30s, their wives, three kids between them, and a grandmother. They watched the bright screen bearing Trump’s face and leaned into each other. As people left around them, they became an island in the parking lot, refusing to budge. One of the men had a habit of repeating the last word of key Trump phrases, or yelling his approval when Trump asked for it. When Trump said child smuggling was immoral, he said: “Hell yeah!” When Trump said sanctuary cities were immoral, he yelled: “Right on!”

The man cheered when Trump mentioned a new Rasmussen poll had declared that his approval rating was 52%. “Fifty-two percent!” Trump said. “Explain that,” he continued. “How do you get that when you don’t get good press?” He said 93% of the stories written about him were negative. “No matter what we do, they figure out a way to make it bad.”

His speech was, like all his speeches, mesmerising. There is virtually nothing he won’t say, so when he’s off-script, there’s no way to stop watching once you begin. He touted the fact that he’d not only freed prisoners from North Korea, but that he’d brought back remains. “Remains are coming back. Remains!” He did not say whose remains had come back. He went into great detail about third-term abortions, and told the audience that Democrats advocated the killing of babies after their birth. At that, the crowd booed louder than at anything all night. He praised law enforcement officers, in particular those working for ICE, and then said that hi-tech tools were fine in the fight against illegal immigration, but “there’s nothing better than a German shepherd”.

The US-Mexico border fence seen from Playas de Tijuana, Baja California Photograph: Guillermo Arias/AFP/Getty Images

And as ludicrous as these fragments seem out of context, watching the speech with what truly was an everyday and diverse group of people, I had the distinct impression that Trump could easily be re-elected. Recent polls had found that fully 58% of the American electorate had vowed to vote for anyone but Trump, but even with all the insanities of his speech, and the unending chaos of his first two years in office, he laid out a compelling case that night for having achieved actual results that actually mattered to his fans, both the passive and the devout. He mentioned that unemployment for Hispanic workers was at a historic low, and this is true. He mentioned that unemployment for African American workers was at an all-time low, too, and this is also true. We in the media have long seen Trump as a racist buffoon and a threat to every core democratic principle, but his supporters see him as a man who gets things done, who speaks candidly, and who has engineered an economic boom that is the envy of the world. Almost invariably, his fans acknowledge his crude way with words, and his difficulty telling the strict truth, but they consider these minor sins dwarfed by the impact of a thriving economy, the winding down of two unnecessary wars, and a tough-minded stance against China, North Korea and illegal immigration. To his supporters, even the casual ones, he has a lot to run on. And even those who are agnostic about Trump, at least here in El Paso, were conceding his successes.

“I don’t feel that he gets credit for what actually works,” Eddie Avila said. Avila was 22, and had come to the rally “just to scout it out”. He’d put on a sweater to cover his Mexican national soccer team jersey. “I didn’t want to get jumped,” he said.

Avila didn’t vote for Trump, and didn’t vote for Hillary Clinton, either. But he’d been impressed with some of Trump’s progress. I asked for an example.

“Money. Work,” Avila said. “It’s amazing what he’s done to improve employment in the United States. I was working for Toys R Us and unfortunately the company closed. Not because of Trump or anything. I was stressing out, but it didn’t take me long to find a job.” He was now a supervisor at Barnes and Noble.

Then again, Avila said, “He just wants to do some weird stuff. This whole wall-building is just a waste of time. Half my family comes from Mexico, and it’s not going to stop anything. The guys who have been doing this” – meaning those who transport people and goods illegally over the border – “have been doing this before Trump was born.”

I asked Avila if he was surprised at both the large turnout at the rally, and the diversity of the audience.

“I’m in shock,” he said. “We were not expecting it.” On the other hand, he said, “half the people here, they don’t know what the hell is going on. They’re just here because Trump is here.”

***

There comes a point in Trump rallies when only the most diehard fans stay engaged, and usually this comes when Trump begins to read from pieces of paper. In this case, at a little after 8pm, he began thanking the local politicians who had come to the rally, from Texas governor Greg Abbott to the state’s secretary of agriculture. By the time he got to the local members of Congress, there was a flood heading for their cars.

The cowboys v communists moment happened, and by the time Trump finished speaking, the crowd outside was down to about a thousand people. I joined the current of humanity leaving the Coliseum, and as we all crossed Paisano, I talked with two Kenyan men. They were dressed in sports jackets and were rushing through the cold night, police lights flashing in their faces. They said they were medical students, and supported Trump “from the start”. I asked why. “Because he’s strong!” one of the men said. I asked them if they thought Trump was a racist. After all, he’d reportedly lamented that so many immigrants were trying to come to the US from “shithole countries”, and included African nations within that group. “He’s not a racist,” one of the men said. “He’s a businessman!”

“Don’t talk to him,” the other Kenyan said, referring to me. “He’s from the liberal media.” And they laughed and picked up their pace.

***

Anti-Trump marchers in El Paso, near Trump’s rally. Photograph: Paul Ratje/AFP/Getty Images

Back at the corner of Paisano and Shelter, where hours before I’d met the T-shirt vendors and the woman holding the El Mamón sign, the first real confrontation between Trump supporters and detractors was taking place. An African American man in short dreadlocks was holding a large, handmade “Beto 2020” sign. This provoked much consternation from the passing Trump fans. “Good luck with that!” they yelled. “Trump! Trump! Trump!” someone yelled, seemingly obeying the recorded directive from before the rally. Some simply held up their “Finish the Wall” signs, and kept walking. There was a phalanx of police officers in riot gear, standing between the protesters and the rallygoers, accompanied by an armoured vehicle. A woman’s voice from inside the vehicle came through a loudspeaker and plaintively and constantly asked for order. “Keep it moving. Keep it civil!” she implored.

“Lock up Trump!” a protester yelled.

“Losers!” a Trump rallygoer yelled. “Trump won. Get over it!”

“Do not throw anything,” the police voice said.

“Latinas for Trump!” a woman in red sang as she walked by, holding up a Trump placard.

“No respect for racists!” a protester yelled.

“You need to leave this corner now,” the police voice said, now sounding more worried. “That is a lawful order.”

“How can I be a racist if I’m Latino?” he asked her. “I’ve got a brother in the army! I’m supporting my president!”

There were only about 40 people standing on the corner – as anti-Trump protests go, it was small and ineffective. And not all of the people on the corner were against Trump. A third of the assembled were actually Trump supporters embedded with the protesters, hassling them, and a third were curious observers and oddballs. One man was standing against a fence, listlessly saying “Hey hey, ho ho, Donald Trump has got to go,” at a volume only he and someone standing next to him might hear. Another man was insisting that everyone should subscribe to PewDiePie’s YouTube channel.

“Crowd needs to disperse. Leave this corner now,” the police voice said.

“We all need to go home and subscribe to PewDiePie!” the man said.

Among the protesters were five women dressed in black who were calling out Latinos emerging from the Trump rally.

“You’re supporting a man and a system that oppresses you!” one of the protesters said to a young man with the name Rios on the back of his sweatsuit top.

“How can I be a racist if I’m Latino?” he asked her. “I’ve got a brother in the army! I’m supporting my president!” he yelled, his voice breaking.

He was with three friends, all young men, and for a while they and the women protesting yelled at each other and no minds were changed. Nearby, though, a man and a woman were engaged in a heated but not uncivil debate. He was white, about 30, wearing a baseball cap with sunglasses resting on the peak. She was Latina, a bit older than him, shorter but not backing down – her name was Pearl Crain. Their discussion was so reasonable and substantive that a crowd of about 12 people had formed around them. One of the protesters nearby was so disarmed by the man, a veteran who called himself “Justin from Tucson”, that he invited Justin from Tucson to come out for tacos.

“He just went to a Trump rally and now he’s going for tacos,” Crain said with a laugh.

“That’s not incongruous at all,” Justin from Tucson said. “Not only do I love Mexican people and any kind of Latin American culture, but I have a lot of friends from all kinds of ethnicities.”

“Then how can you go to that rally?” Crain asked.

“Why am I at the rally? Because I really do believe that Trump is the president for the people.”

“He’s the president for you. For white people,” a man in the scrum said.

Justin turned quickly on him. “You’re making a lot of accusations, brother. Are you judging me by the colour of my skin, or by the content of my character?” he asked, quoting Martin Luther King. The man backed off.

“I know he makes stuff up. I know he exaggerates,” Justin from Tucson said. “What president hasn’t?”

“This one’s a liar. A cheat,” Crain said.

“PewDiePie does not support violence!” the oddball yelled from somewhere in the dark.

“We’re giving you a lawful order. Leave this corner now,” the police voice pleaded.

“My encouragement to people who think we’re all a bunch of deplorables,” Justin from Tucson said to Pearl, “is to reach out and have conversations. Good night.” And he was gone, following the last of the Trump supporters going to their cars.

Crain got ready to go, too. And just when the night seemed to have ended on a somewhat graceful note, a man coming from the rally ran toward the few remaining protesters, with his fingers in the shape of a pistol.

“I’ve got a gun!” the man yelled, pretending to shoot the man holding the Beto 2020 sign. The man with the finger-gun was white, about 60, wearing a MAGA hat and ironed jeans. He looked like a dentist from a television commercial. Then he jogged down the street, backwards, giving the finger to everyone on the corner, as we all stood speechless in the dark

• Dave Eggers’s new novel, The Parade, will be published on 21 March by Hamish Hamilton. To order a copy go to guardianbookshop.com or call 0330 333 6846. Free UK p&p over £15, online orders only. Phone orders min p&p of £1.99.

• This article was amended on 4 March 2019. An earlier version referred several times to the YouTube channel of “Cutie Pie”; this has been corrected to PewDiePie.