clock menu more-arrow no yes mobile

Filed under:

UFC San Antonio results, live streaming play-by-play updates | Vera vs. Sandhagen

UFC Fight Night: Vera v Cruz Photo by Jeff Bottari/Zuffa LLC

Ultimate Fighting Championship (UFC) returns to “The Lone Star State” by way of the UFC San Antonio mixed martial arts (MMA) event, which takes place TONIGHT (Sat., March 25, 2023) on both ESPN and ESPN+ from inside AT&T Center in San Antonio, Texas. UFC San Antonio will be headlined by the 135-pound showdown between Top 5 bantamweight bangers Marlon Vera and Cory Sandhagen, who battle for a potential shot at the division crown later this year. Speaking of championship titles, former women’s bantamweight queenpin Holly Holm makes her return to MMA action opposite rough-and-tumble 135-pound veteran Yana Santos. Nate Landwehr, Maycee Barber, and Albert Duraev will also see violence in tonight’s lineup.

LIVE! Stream UFC Vegas 79 On ESPN+

HIGH STAKES LIGHTWEIGHT MATCHUP! Ultimate Fighting Championship (UFC) returns to UFC APEX on Sat., Sept. 23, 2023, with a high stakes 155-pound showdown as No. 6-ranked contender, Rafael Fiziev, takes on No. 7-seeded Mateusz Gamrot. In UFC Vegas 79’s co-main event, No. 12-ranked Featherweight contender, Bryce Mitchell, steps back into the Octagon against No. 13-seeded Dan Ige.

Don’t miss a single second of face-punching action! will deliver LIVE round-by-round, blow-by-blow coverage of the entire UFC San Antonio fight card below, starting with the ESPN+ “Prelims” undercard bouts at 4:30 p.m. ET, followed by the ESPN/ESPN+ main card start time at 7 p.m. ET. Bet on all the UFC San Antonio action with our friends at DraftKings Sportsbook right here.

Keep in mind that we will also be the spot for the latest news, recaps, and post-fight analysis following “Vera vs. Sandhagen.” Without further delay, see below for the updated UFC San Antonio results. (Note: This will go from the bottom up; therefore, scroll toward the bottom for the latest detailed round-by-round action).


135 lbs.: Marlon Vera vs. Cory Sandhagen — Sandhagen def. Vera by split decision (47-48, 50-45, 49-46
135 lbs.: Holly Holm vs. Yana Santos — Holm def. Santos by unanimous decision (30-26, 30-27 x2)
145 lbs.: Nate Landwehr vs. Austin Lingo — Landwehr def. Lingo by submission (rear naked choke) at 4:11 of Round Two — HIGHLIGHTS
125 lbs.: Maycee Barber vs. Andrea Lee — Barber def. Lee by split decision (28-29, 29-28, 30-27)
185 lbs.: Albert Duraev vs. Chidi Njokuani — Duraev def. Njokuani by split decision (28-29, 29-28 x2)
125 lbs.: Manel Kape vs. Alex Perez CANCELED
145 lbs.: Tucker Lutz vs. Daniel Pineda — Pineda def. Lutz by submission (guillotine choke) at 2:50 of Round Two — HIGHLIGHTS
145 lbs.: Lucas Alexander vs. Steven Peterson — Alexander def. Peterson by unanimous decision (30-27 x3)
170 lbs.: Trevin Giles vs. Preston Parsons — Giles def. Parsons by split decision (29-28, 28-29, 29-28)
125 lbs.: Daniel Lacerda vs. CJ Vergara — Vergara def. Lacerda by TKO (punches and elbows) at 4:04 of Round Two — HIGHLIGHTS
125 lbs.: Victor Altamirano vs. Vinicius Salvador — Altamirano def. Salvador by unanimous decision (29-28 x3)


135 lbs.: Marlon Vera vs. Cory Sandhagen

Round 1: Sandhagen falls short with a combination. Low kick connects, right hand upstairs behind it. Jabs from Vera, low kick exchange a minute in. Sandhagen body shot; he’s generally on the front foot so far. Volume from Sandhagen, nothing huge yet. Low kicks and left hook. Vera jab met by a left hook. Sandhagen looks for a head kick two minutes in as Vera angles off. Jump knee just misses for Sandhagen, who changes levels and puts him on the fence. Outside trip puts him on top in guard. He immediately postures up to drop punches and elbows. Two minutes to go.

Half guard for Sandhagen, looking to keep chipping away. More elbows. One minute to go. Sandhagen postures up for some more heavy shots. These are some mean elbows. Not quite a 10-8, but not too far from one. 10-9 Sandhagen.

Round 2: Sandhagen back in pursuit, cracks him with a straight right. Body shot to low kick. Low kick from Vera, who eats part of a four-piece combo before currendering another takedown. He grabs a guillotine on the way down, but Sandhagen pops his head out a minute in and settles in half guard. Staying tight, landing short shots. Vera looks for a leg two minutes in. Sandhagen avoids it and takes side control. Not as much damage so far this round but some great control from Sandhagen. Now the elbows are back with two minutes to go.

Vera slips out and stands as Sandhagen tries to attack the far arm. Sandhagen’s cut on the cheek. Body kick by Vera. Two-piece from Sandhagen with a minute to go. Vera catches a body kick, can’t use it, blocks a flying knee. 10-9 Sandhagen.

Round 3: Front kick to the midsection from Vera. One minute in. Sandhagen slips throwing his own head kick, puts together a combo afterwards. Good low kick by Vera. Sandhagen answers in kind soon after. Both fire combinations in the center. Body kick exchange. Vera immediately denies a shot. Two minutes in. Hard 1-2 from Vera, his best shots of the fight. Sandhagen still moving forward, cracks him with an uppercut through the guard. He shoots, denied. Two minutes to go.

Left hook from Sandhagen, then a body shot and straight right. Front kick exchange. Vera tries a head kick. 3-1-uppercut lands for Sandhagen, who eats a low kick with a minute to go. Combination doesn’t land, low kick does. Vera 1-2 falls short, as does a front kick. He tries to chase until the bell. 10-9 Sandhagen.

Round 4: Sandhagen shoots, denied, lands an uppercut, shoots again, denied. Another unsuccessful shot. One minute in. Hard body shot lands for Sandhagen. Lots of feinting, not a lot of engaging at the moment. Combination from Sandhagen, jump knee just misses two minutes in. Neither man throwing a lot, but Sandhagen doing more so far this round. Vera 1-2 falls short. Low kick checked with two minutes to go.

Left hook from Sandhagen, straight right from Vera. Sandhagen ends a combo to the body. To the head this time. Low kick. Jab sequence. One minute to go. Vera yet to land anything significant this round. He tries to spin after eating a jab. Dart left by Sandhagen. Combo by Vera, head kick attempt, hook kick attempt. 10-9 Sandhagen.

Round 5: Sandhagen showing a lot of jabs early on, switching stance and picking away. He shoots, denied. Jump knee doesn’t land, but the next level change does, putting Sandhagen on top in guard. He snuffs out a triangle a minute in. Vera tries to roll free, can’t get away. Short punches from Sandhagen. Vera gets to his feet, has to fight off another level change two minutes in. Elbow from Sandhagen on the exit, long punching combo soon after. Vera body kick and 1-2. Another 1-2. 1-2 from Sandhagen in return. Two minutes to go.

Vera lands to the body and eats counters for his trouble. 3-2 by Vera answered in kind. Kicks from Sandhagen with a minute to go. He’s got a gnarly cut on his scalp somewhere. He shoots, denied. Vera catches a body kick and grabs the rear body lock. Elbow on the exit, left hook behind it. Sandhagen threatens a jump knee, as does Vera. Vera going Terminator at the end, eats a hard left hook. 10-9 Sandhagen.

Final result: Sandhagen def. Vera by split decision

135 lbs.: Holly Holm vs. Yana Santos

Round 1: Santos punches her way into the clinch and goes to work with knees. Holm reverses, gets reversed in turn. One minute in. Continuing to jockey for position against the fence. Knees from Santos. Two minutes in and they separate. Santos lands a low kick, then they’re back in the clinch with over-unders. Two minutes to go.

They separate once again. Low kick from Santos, avoids a side kick. She’s the busier of the two, though neither is landing much. She rushes in and Holm puts her on the fence. One minute to go. There’s some nice kicks from Holm. Side kick to the midsection answered by a Santos body kick. Holm shoots right as Santos fires a low kick and lands on top, taking side control. 10-9 Holm.

Round 2: They trade for about 15 seconds before Holm gets a brief clinch. Front kick knocks Santos over and they trade on the way up. Clean counter left from Holm and she follows with a takedown into side control a minute in. Looking for the back, settles for half guard. On to side control two minutes in. Short elbow. Holm staying tight, not landing a ton. Two minutes to go.

Holm starting to land, looking for the crucifix with a minute to go. Shoulder strikes. From the back to mount, dropping elbows. Not quite enough damage for a 10-8, so 10-9 Holm.

Round 3: Back to the clinch. Holm hauls her to the fence, separates soon after. Santos punches into the clinch and an outside trip puts her back on the bottom in half guard. Full mount a minute in. Santos regains half guard, gives up side control soon after. Holm looking for mount again two minutes in, could take the back. RNC attempt, no dice, settles back in half guard. Side control again with two minutes to go.

Santos gets to a knee as she eats punches, then to her feet, trying to elbow behind her back. They separate with a minute to go. Santos punches into the clinch. Straight left from Holm. then a nice double-leg into side control. 10-9 Holm.

Final result: Holm def. Santos by unanimous decision

145 lbs.: Nate Landwehr vs. Austin Lingo

Round 1: Lingo pushing forward with combinations in the early going. Some nice connections on the fence. Landwehr comes back with counters that appear to bother him for a moment. One minute in. Lingo lands to the body, avoids a clinch and front kick. Landewhr’s already cut by the right eye. Nice counter uppercut. Jabs from Lingo in return. trading kicks two minutes in. 1-1-2. Landwehr picking at Lingo’s lead leg, gets backed up by a long combo. Two minutes to go.

Low kick exchange. Landwehr tries a single-leg, can’t get it. Lingo bounces some combos off his guard. One minute to go. Landwehr tries to spin. Good front kick downstairs. Low kick, straight right, left hook. Landwehr starting to pressure after a lot of good work from Lingo. Good exchanges. Heavy punches from Lingo met by a knee. 10-9 Lingo.

Round 2: Lingo definitely the sharper boxer so far and he’s off to another aggressive start this round. Landwehr backs him up and puts together a two-piece among some low kicks. One minute in. Teep again by Landwehr. Low-high 1-2 by Lingo, best shot in a while. Landwehr continuing to land front kicks to the midsection. Low kick met by a Lingo straight right. Two minutes in. More front kicks, Lingo tries to hurl punches in response. 1-2 by Lingo. Landwehr lands a combo, tries a knee. Calf kick. He’s throwing more volume than Lingo this round, digs another front kick to the body. Lingo jabbing the body as he circles. Two minutes to go.

Jab exchange. Solid counters by Lingo. Landwehr backs him up with punches, then dings him with a head kick. Looking for knees, another head kick on the exit, then an outside trip. Landing punches as Lingo works his way to his feet. He knocks Lingo’s mouthpiece out with a right hand, then locks up the RNC before he can react, slipping in the hooks to force the tap.

Final result: Landwehr def. Lingo by submission (rear naked choke)

125 lbs.: Maycee Barber vs. Andrea Lee

Round 1: Barber opens with a body kick. 1-2 falls short. She catches a body kick, can’t use it. Body shot from Lee, counter right from Barber. One minute in. They collide in the center and Lee wraps up a body lock to drag Barber down with an outside trip. Side control for “KGB.” Two minutes in. Barber brings her legs up to lock up Lee’s near arm, then goes to work with elbows until Lee frees it. Two minutes to go.

Lee moves to the back, but Barber slips out the back door and stands. Solid exchanges, Barber with her legs and Lee with her hands. Good left hand by Barber, simultaneous head kicks with a minute to go. Left hook exchange. Low kick to head kick from Barber. Lee tries to spin, eats a hard elbow and straight left. 10-9 Barber.

Round 2: Two-piece lands for Barber. One minute in. Both fall short with kicks. 1-2 from Lee. Low kick exchange. Trading punches and kicks, neither getting the better of it thus far. Nice takedown by Barber, great hips from Lee to get right back to her feet. Two minutes in. Combination from Barber. Straight left glances off. Lee low kicks. Simultaneous head kicks. Barber stings her with a left and now she’s on the attack, prompting Lee to take her down with two minutes to go.

Half guard for Lee. She stands over Barber with a minute to go. Looking for axe kicks. Upkicks from Barber prompt Lee to come back down. 10-9 Lee.

Round 3: Barber throwing some heavy punches early on. Head kick attempt, combination. Barber turning up the aggression, lands a good body kick but gets taken down for it. Lee quickly jumps on her back, then bails before Barber can slip out the back a minute in. They separate. Lee body kick. Two minutes in. Side kick from Barber just misses. She ties up, eating knees. Body and head kick attempts. Nice kick catch to takedown for Barber into side control. Two minutes to go.

Lee gets to her feet, eating knees, then slings Barber to the mat in return. Quick standup from Barber. 1-2. Lee low kick. Barber wades in and lands an elbow before tying up. Lee reverses with a minute to go. Outside trip puts her on top in half guard. 10-9 Barber but I don’t think I’d argue with any score.

Final result: Barber def. Lee by split decision

185 lbs.: Albert Duraev vs. Chidi Njokuani

Round 1: Njokuani keeping his distance, working behind his kicks. One minute in. Duraev steadily advancing. He catches a low kick and sweeps Njokuani to the mat. Looking for the back against the fence. Two minutes in. Left hands landing with one hook in. Good shots under the armpit. Njokuani works his way up with two minutes to go.

Duraev drives through for a double-leg attempt, then gets him down again with an inside trip. Full guard with a minute to go. Duraev postures, avoids upkicks, then comes back down into the closed guard. 10-9 Duraev.

Round 2: Duraev patiently pushing forward as Njokuani circles at range. One minute in. Counter right by Njokuani, 1-2 from Duraev. Two minutes in. Duraev body jab, Njokuani right hand. Mostly a sparring session thus far; Njokuani hasn’t committed to any big strikes and Duraev hasn’t changed levels. Another counter right by Njokuani. Two minutes to go.

Another good right by Njokuani. 1-2. Quick exchange. One minute to go. Right hand exchange, low kick from Njokuani. Duraev low kick. Nothing round, really.. 10-9 Njokuani.

Round 3: Hard kicks from Njokuani to start. Duraev steadily pursuing, walks into a left hand. Good knee from Njokuani, but it allows Duraev to get it on his hips. One minute in. Njokuani turns and separates. Lead right by Duraev, who seems to have fallen back into first gear two minutes in. Njokuani front kick just misses. Head kick attempt. Stiff jab. Two minutes to go.

Doesn’t seem to be anything left in Duraev. Three-piece from Njokuani. Duraev happy to just toss out jabs and low kicks. Njokuani body kick. Again. Quick exchange at close range, head kick at the bell. 10-9 Njokuani.

Final result: Duraev def. Njokuani by split decision

145 lbs.: Tucker Lutz vs. Daniel Pineda

Round 1: Heavy exchange to start, then an outside trip from Pineda. Lutz pops up, then reverses n the fence after a time. One minute in. They separate 20 seconds later. Pineda low kick met by a right hand. Lutz to the body, then a two-piece upstairs. Another two-piece two minutes in. Sharp 1-2 after eating a right from Pineda. Pineda spins and they get to trading. Double-leg attempt carries Lutz across the cage. Knees from Lutz after defending. Two minutes to go.

Elbow from Lutz on the break. Pineda low kick, threatens to spin again. They trade and an overhand right from Pineda sends Lutz to the canvas. Pineda doesn’t jump on him and we’re back to exchanging. One minute to go. Lutz shoots, denied. Slow-mo wheel kick attempt from Pineda as the exchanges continue. Pineda lands a pair of right hands with a Lutz hook in the middle. 10-9 Pineda.

Round 2: Right back to the high-volume trades. Pineda getting the better of it to start the round. Lutz shoots and puts him on the fence. Pineda reverses with a front headlock. One minute in. Knees force Lutz to go to a knee, and Pineda follows by committing to the guillotine. He somehow manages to take Lutz’s back shortly thereafter, though Lutz regains guard two minutes in. Lutz scoots to the fence and tries to lean forward for a takedown attempt, but Pineda clamps down on another guillotine and this one finishes the job.

Final result: Pineda def. Lutz by submission (guillotine choke)

145 lbs.: Lucas Alexander vs. Steven Peterson

Round 1: Low kick from Alexander to start. Hard body kicks. He looks a fair bit faster than Peterson. One minute in. 3-2. There’s an overhand right from Peterson, who eats leg kicks. Two minutes in. Another good boy kick lands for Alexander. Counter two-piece. Peterson’s not showing enough consistent pressure to get inside. Alexander front kick with two minutes to go.

3-2 from Alexander. Peterson runs after him with some kicks that don’t connect. Combo by Alexander in return. Solid body kick from Peterson, eats another combo for his trouble. One minute to go. Quick 1-2 to the body from Alexander. Tomahawk elbow lands for Alexander in combination. Peterson sprints after him and gets floored by a counter right. 10-9 Alexander.

Round 2: Peterson just has no answer for the speed and variety of Alexander. Hard low kicks by Alexander. Peterson ducks a spinning back fist, can’t find a takedown a minute in. Another Alexander calf kick and Peterson’s struggling to move properly. Another. Two minutes in. No pressure from Peterson at the moment; Alexander comfortably throwing out kicks from long distance. Low kick again. 1-2, jumping knee to the body. Counter two-piece. Two minutes to go.

Alexander staying patient and Peterson not doing much to flip the script. Unsuccessful level change by Peterson. One minute to go. Swatting hook and body shot land for Alexander. Counter two-piece by Alexander. 10-9 Alexander.

Round 3: Vicious body kicks from Alexander with a left hand mixed in. Peterson’s just several steps behind, unable to consistently get cut off the ring. Nasty nut shot sends Alexander to the mat a minute in. He takes a bit to recover, then goes back to potshotting at range. Peterson wades in and changes levels. Alexander defends and ends up on top, dropping brutal punches before standing over him with two minutes to go. Axe kick to the body. He lets Peterson back to his feet. Counter two-piece by Alexander. Two minutes to go.

2-3 lands for Alexander. Peterson tries some kicks without success. He’s trying to pressure now but there’s no cage cutting there. Body kick, left hand, low kick by Alexander. One minute to go. Head kick connects. Counter two-piece floors Peterson again. Axe kick to the body, then Alexander lets him up again. Jump knee and right hand that Peterson waves off. More kicks by Alexander. 10-9 Alexander.

Final result: Alexander def. Peterson by unanimous decision

170 lbs.: Trevin Giles vs. Preston Parsons

Round 1: Parsons immediately ties up, potentially clashing heads in the process. Giles reverses, eats some solid elbows. They separate. Low kick to level change from Parsons a minute in, Giles defends and cracks him with some solid punches. Nasty jab. Parsons continues to pursue, puts him on the fence. Two minutes in. Giles avoids a right hand on the exit and goes back to landing stabbing jabs. Excellent entry by Parsons, even more impressive defense by Giles. Two minutes to go.

Cross counter from Parsons and now Giles is hurt. Parsons bundles him down, looking for the RNC, but settles for half guard. Quick move to side control, where Giles responds with a buggy choke. Parsons works his way out and takes mount, then the back. He loses the RNC, then the armbar, ending up on the bottom in half guard. Good elbow by Giles. Parsons sits up for a takedown attempt and hauls him to the fence. 10-9 Parsons.

Round 2: Parsons staying aggressive, walks into a brutal right hand before tying up and putting him on the fence. Elbow from GIles on the exit. One minute in. Back to the jab goes Giles as Parsons wades after him. Lead right by Parsons, can’t tie up. Left hook. More clean jabs by Giles in response. Nice level change by Parsons briefly gets Giles down on the fence two minutes in. Giles showing great defense on the mat return. Parsons rushes in, slips, can’t get the ankle pick. Jab and cross by Giles, eats another cross counter and left hook. Parsons to the body, eats more jabs. Two minutes to go.

Another body shot from Parsons and another level change behind it. Giles defending with a cradle, stuck on his knees against the fence. Back up with a minute to go. Man, ESPN+ is having all kinds of issues. Another scramble ensues, leaving Giles on top in half guard. Parson’s right eye looks damaged. 10-9 Giles.

Round 3: They pause to look at Parsons’ eye, but it looks like the cutman did a good job. Good right hand and left hook as he barrels into the clinch once again. Giles separates, lands a jab, eats low kicks. Left hooks to low kick and now they’re slugging it out. Parsons continuing to wade in, gets put on the fence a minute in. Calf kicks really working for Parsons. Good level change gets Giles to his seat. Front headlock as Giles works his way up. Parsons looking for knees, settles for an elbow on the break two minutes in. Nice combinations by Giles, low kick from Parsons. He shoots, denied. Again he punches into a level change and takes Giles to the mat. Half guard against the fence with two minutes to go.

Potential arm triangle. The fence is in the way but it looks good. No dice, settles for mount. Giles kicks off the fence to sweep into top position. Parsons closes up his guard with a minute to go. Triangle, no dice. He looks for a final takedown. Close one. 10-9 Parsons?

Final result: Giles def. Parsons by split decision

125 lbs.: Daniel Lacerda vs. CJ Vergara

Round 1: Vergara leads with low kicks. Lacerda falls short with a wheel kick, lands a straight right and 1-2. Quick exchange inside. One minute in. Another fast point-blank trade. 1-2 from Lacerda, wheel kick falls short. Vergara body kick, avoids a head kick. Lacerda tries a sneaky foot sweep and follows with a flying knee that just misses. Hard 1-2 from southpaw. Vergara lands low kicks and a counter when Lacerda tries to answer in kind two minutes in. Lacerda’s next wheel kick catches Vergara with the foot and knocks him loopy. Lacerda literally sprinting after Vergara and throwing everything he’s got to find the finish. Two body kicks and a head kick. Anotehr wheel kick floors Vergara and Lacerda continues to sprint and unload. Vergara just running away at this point. Two minutes to go.

Vergara finally throwing back, but gets taken down against the fence. Lacerda soon takes the back and hints the RNC with a minute to go. Vergara somehow escapes and gets to his feet, landing volume as Lacerda tries to spin. Now it’s Lacerda unloading again on a fleeing Vergara. Vergara roars back with a hard body shot. 10-8 Lacerda.

Round 2: Vergara still looking fresh and throwing volume. Lacerda running on steam but comes back with a spinning elbow. Vergara attacking the head, body, and legs a minute in. Lacerda shoots, then rolls for a calf slicer. Veragar answers with good punches and elbows. Lacerda’s wilting and now it’s Vergara attacking an arm triangle. it’s in as deep as can be but Lacerda somehow survives. Back to the ground-and-pound goes Vergara. Two minutes to go.

Elbows to the body and head from Vergara. Punishment piling up with a minute to go. Lacerda has no answer and shells up under fire, sending the ref into action and capping off a wild comeback.

Final result: Vergara def. Lacerda by TKO (punches and elbows)

125 lbs.: Victor Altamirano vs. Vinicius Salvador

Round 1: Altamirano comes out slinging kicks. Rabona from Salvador, then a heavy traditional low kick. Low kick to level change from Altamirano, who’s doing well with potshots so far. Aborted level change to two-piece. Salvador stuffs another takedown a minute in, slinging heat without success. Well-timed reactive shot puts Altamirano on top in butterfly guard. Two minutes in. Short ground-and-pound from Altamirano. Salvador holding him close, not doing much to stand. Two minutes to go.

Salvador gets to the fence, Altamirano pulls his post out from under him. Now Salvador gets to his feet, eating a knee and trying a whizzer kick before separating. Saenchai kick attempt, low calf kick. One minute to go. Wheel kick appears to land for Altamirano, but Salvador backs himself to the fence and waves him on. Altamirano doesn’t bite. Fake shot to knee. Both land to the body. Salvador catches Altamirano leaning with a looping hook but has to fight off a single-leg. 10-9 Altamirano.

Round 2: Sweeping calf kick from Salvador, who eats a two-touch wheel kick. More spinning from Altamirano. Low kick to shot, denied. Salvador wading after him with ugly swings, grabs a body lock. Altamirano stays up and separates a minute in. Body shot from Salvador as he eats a spinning back fist. Altamirano times another level change, avoids a throw, and puts him on the fence. Both land knees inside. Nice whizzer kick from Salvador, Altamirano rolls through. Salvador does it again for some nice impact, but doesn’t establish two minutes in. Back to the feet. Left hand catches Altamirano behind the ear and they slug it out. Salvador body kick. Two minutes to go.

Hook kick by Altamirano lands to no effect. Salvador denies the level change as well. Hard 2-3 from Salvador. Counter left. Salvador’s starting to find the mark more often. Altamirano continues to circle and pick away. Clubbing shots by Salvador with a minute to go. Body kick. Altamirano landing body kicks, eats a low kick and looping left. Both bang the body and Altamirano catches him with a head kick on the way out. Altamirano low kick, Salvador body shot. 10-9 Salvador.

Round 3: Heavy combinations from Altamirano to start, followed by a takedown into guard when Salvador tries to swing back. Ground-and pound from Altamirano a minute in. Salvador kicks him away and stands, eating kicks along the way. Long left from Salvador lands on the exit, then ESPN+ dies for a while. It comes back to Altamirano on top with less than three minutes to go. Salvador blatantly grabs the fence to try and stand. Again. He makes it up with two minutes to go.

Altamirano tries a wheel kick, eats a left after tailing a takedown. Trading at close range. Side kick from Altamirano. Saenchai kick just misses for Salvador, who blocks a spinning back fist. Both swinging hard at point blank. Altamirano shoots, denied with a minute to go. Wild swings by Salvador. Hard knee met by an Altamirano body kick. Uppercut and body shot by Salvador. Stalking and landing heavy shots along the fence. Spinning back fist by Altamirano. Salvador shoves him to the mat at the bell. Damn close round. Can’t really definitively say who won the third since I missed part of it, but 10-9 Altamirano, I suppose.

Final result: Altamirano def. Salvador by unanimous decision

To check out the latest and greatest UFC San Antonio: “Vera vs. Sandhagen” news and notes be sure to hit up our comprehensive event archive right here.

Sign up for the newsletter Sign up for the MMA Mania Daily Roundup newsletter!

A daily roundup of all your fighting news from MMA Mania