Swords & Heroes Story #30
Seven Souls by Mike Graham
Thought I’d wrap up our current season of stories with a sorcerous and – for me, at least – somewhat scary Scandinavian tale! Swords & Heroes eZine will go on hiatus after this, so I wanted to leave you with an adventure both familiar (I love the tropes utilized by Mike in his story) and surprising (with a sad but satisfying turn of events). I hope you’ll agree and share your comments with the author at the end of today’s offering. Thanks for being such faithful readers these past many months! And thank you, Mike, for sending in a very entertaining tale! + Ed.
Seven Souls by Mike Graham
The Dnieper’s rushing waves lapped the sides of the knarr. At the steering oar, Ulf the Red scanned the forested shoreline, alert for signs of Pecheneg raiders. From the prow, Bjorn’s voice rang out over the rumble of water. “I can see the walls of Berezhnik!”
Hakon, the merchant who had hired their band to protect his cargo of amber and furs on the way to Miklagard, emerged from beneath the awning. “At least some rest before the rapids.”
But as they rounded the wide river bend, something twisted in Ulf’s gut.
“Berezhnik seems...quiet,” Torsten observed from the rowing bench.
Too quiet, Ulf thought. Usually, smoke from cooking fires would rise at this hour, and the shouts of fishermen would carry across the waters. Instead, silence hung in the air. He raised his hand, and the oarsmen slowed their rhythm. Bjorn nocked an arrow, scanning the tree line. The wind shifted, bringing with it the unmistakable stench of death.
As they neared the wooden docks, they found only charred timbers and corpses. Ravens took flight reluctantly at their approach.
“Pechenegs,” Bjorn confirmed, pointing at the distinctive arrows protruding from a corpse’s back. “This is fresh. No more than two days.”
“They could still be near,” Finn the Tall muttered, scanning the surroundings.
Ulf surveyed the ruins of the trading post. No survivors, no livestock, no chance of finding porters or oxen for hauling the knarr around the rapids. “We sleep upriver,” he decided.
As twilight deepened, they moored and settled inside the ship for the night, making a fish stew on a small, carefully shielded brazier and talking in hushed tones. The moon rose above the clouds, turning the Dnieper into a silver path.
Suddenly, Finn, who stood guard, let out a warning call, pointing at something on the bank. Ulf spotted a slight figure half-hidden behind a tree, peering at them with frightened eyes. He reached for his sword before realizing she was merely a girl, unarmed and trembling.
“Rus?” she croaked in accented Norse.
“Danes,” he corrected. “But friends to Rus. Who are you, child?”
“Zora...my lord,” she replied, stepping hesitantly forward. She couldn’t have seen more than sixteen summers, with tangled braids framing a dirt-smudged face. Her clothes were torn and stained, her thin arms wrapped protectively around herself. “The Pechenegs... They came... We didn’t see them...” She pointed upriver with a shaking hand. “They killed... They took many...”
Several warriors murmured sympathetically. Leif the Grim chuckled. “She’d fetch a good price in Constantinople’s slave markets.”
The girl’s eyes widened with fear.
“No!” Hakon rumbled. “You forget the laws of hospitality.” In the brazier’s light, the merchant’s face seemed to have gone pale. Ulf watched him with concern. All he needed was his employer to come down with another fever while they were neck-deep in trouble.
“What do you seek from us?” Ulf asked Zora.
She glanced nervously from under her lashes. “To stay with you to reach my kin in Chernoles, south of the rapids, my lord. They have warriors. They can free those who have been taken.”
Ulf shook his head. “The Pechenegs will be watching the riverbanks. They will spot our ship without trouble. You’ll be better on your own.”
“I know a path through the woods, around the rapids and hopefully away from their eyes.”
There was a stunned silence. “I have been to Miklagard and back seven times,” Bjorn finally growled. “Never heard of a path through the woods. Anyway, it can’t be wide enough.”
Zora’s lips trembled. “There are many hidden paths here. Our traders take them with their own ladias.”
Hakon abruptly stood, knocking over his drinking horn. Mead spilled across the planks like an unintended offering. “Enough talk. We’ll decide in the morning. She stays with us for now.”
Ulf made no comment, but as he took the first watch that night, he found himself checking not just the forest, but also the slumbering form of the girl.
The next morning, he rose early to find her already awake, sitting with her back to the mast. “Good morning, my lord,” she said, her voice clearer than it had been the previous night, the frightened tremor replaced by quiet confidence. Her face appeared more composed. She had washed the dirt from her cheeks. Her hair had been made in neat braids. There was even a small pendant of reddish glass hanging from a cord at her neck.
Hakon emerged from under his blanket with dark circles beneath bloodshot eyes. He sat to break his fast while the others were breaking camp. Zora approached him hesitantly. “Have you decided, my lord?”
Before he could answer, Finn appeared at the water’s edge. “I scouted upriver. There are horse tracks along the shore. Pechenegs. Maybe eighty warriors. The tracks led away from the river.”
Ulf nodded grimly. “They can be anywhere. We cannot linger.” He turned to Hakon. “What shall we do?”
The merchant’s gaze darted between Zora and his precious cargo. Finally, he said, “Show us your path, child.”
“There.” She pointed to a barely visible opening in the forest, away from the bank and the usual portage route.
Bjorn frowned. “That’s not a path. That’s an animal track.”
“It widens beyond the entrance,” she assured. “That way, it’s hidden from sight.”
Ulf walked to the place. Indeed, the forest path did widen after a few paces, veering to the left in a wide arc, manageable on rollers. He returned, nodding to Hakon. “We follow the girl’s path.”
They prepared the knarr for the overland journey, positioning it on crude rollers cut from tree trunks. The route stayed wide enough—sometimes by mere handspans—to accommodate their craft.
By midday, they had pushed deep into the forest. The sound of the river faded, replaced by rustling leaves and bird calls. Ancient pines and oaks created a green twilight beneath their canopy. Zora walked ahead, occasionally stopping to pick herbs and berries. Ulf brought up the rear, ears straining for sounds of pursuit. He noticed stones with strange markings beneath moss and vines. They resembled no runes he knew.
The path twisted in wide arcs, sometimes seemingly heading back toward the river before veering away again. When they finally made camp in a small clearing at dusk, the men were exhausted.
“I will cook,” Zora offered.
She prepared another stew, adding her herbs. The aroma was enticing—rich and complex. When she ladled portions into wooden bowls, most ate eagerly. Hakon declined, claiming stomach troubles, while Ulf ate sparingly, wary of unknown herbs.
Bone-weary, they quickly fell asleep, leaving only the sentries. He made one last round of the camp before lying down. Despite his exhaustion, sleep came fitfully. He drifted between consciousness and strange dreams: dark shapes moving through ancient trees, a woman’s voice calling, the Dnieper’s waters rising impossibly high, carrying their knarr over the treetops.
Morning came with disorienting suddenness. He jerked awake, instinctively reaching for his weapon. Around him, the camp was stirring with men rising groggily, complaining of aching heads.
“Where is Torsten?” Bjorn asked, stretching. “He took the last watch.”
The young warrior was nowhere to be found.
“He must have gone to relieve himself,” Finn suggested.
“He would have returned by now.”
“Perhaps he went to scout ahead? Foolish young men often seek to prove themselves,” Hakon commented, still looking pale.
“He wouldn’t leave without telling someone,” Bjorn insisted. “He knows better.”
“Finn, take two men and look around,” Ulf ordered. “Check back along yesterday’s path. The rest prepare to move on. We cannot linger with those Pechenegs about.”
The search party returned empty-handed. No tracks led from the camp, no broken branches or disturbed undergrowth. It was as if Torsten had simply vanished into thin air.
“A beast?” Bjorn wondered. “I have seen hungry snow leopards stealing men when I went to Samarkhand.”
Samarkhand… Ancient whispers from Ulf’s memory resurfaced: legends of shapeshifters posing as ordinary folks who devoured entire caravans, claiming travelers one by one. His gaze drifted to Zora, who sat motionless, her eyes fixed intently on Hakon.
“We must continue,” the merchant urged. “We cannot risk more lives for his.”
“All right,” Ulf decided. “If Torsten is alive, he can follow the path.”
They resumed their journey in brooding silence, focusing on the backbreaking job of dragging the knarr. Ulf noticed more strange carved stones. Now, each time they passed one, Zora would touch it, lingering momentarily, her lips moving.
After watching this ritual for the third time, he went to walk beside her. “What are these stones?”
“They mark the old boundaries between my clan and the Vorozh people,” she replied, eyes on the path ahead. “Each stone stands above a sacrificed ancestor, their blood binding the pact between lands.”
“And your whispers?” Ulf asked.
She glanced at him. “I tell them you come as friends. The dead do not distinguish between you and a Pecheneg.”
“Do they answer?” Ulf kept his tone neutral, though his hand itched to touch the hammer amulet at his throat.
“Not with words. But they listen. Always, they listen.”
The path grew increasingly difficult as the day wore on, the ground rising and falling. By late afternoon, the men were near exhaustion.
“We rest here,” Ulf commanded when they reached a flat clearing beside a small stream. More stones poked from the ground, some barely visible under the grass. An ancient oak of impossible size stood on one side. Zora collected wood and water again and prepared another stew to which she added foraged roots. It soon filled the clearing with an enticing aroma.
Doubt gnawed at Ulf. When the food was served, he merely pretended to eat, disposing of small portions when no one was looking. He noticed Bjorn, too, ate sparingly, complaining of indigestion. Hakon touched none of the stew, only chewing dried bread and drinking ale, claiming a lingering fever. His eyes never left Zora as she moved among the men.
Then, Ulf took the first watch. Soon, the clearing grew quiet save for the crackling of the dying fire and the chorus of snores from the slumbering crew. He silently crept back to survey the camp from behind a bush. Zora lay nearby, breathing slowly. Finn, who was meant to keep watch on the other side of the camp, lay on the ground, snoring lightly. The other sentry was also sound asleep. Ulf settled in his hiding place, waiting.
Hours crawled by. Suddenly, Zora rose from her blanket. She moved with assurance, gliding silently on the grass. She approached the sleeping Finn and stood over him, her hand on her pendant. Then, with an almost tender gesture, she touched his forehead. Without a word, he rose mechanically to his feet, his stare empty, his movements stiff.
She took his hand and led him toward the massive oak. Ulf tensed, preparing to pounce, but what happened next froze him in place. The trunk of the ancient tree seemed to shimmer, rippling like disturbed water. Without pause, Zora stepped inside, pulling Finn after her. The bark solidified behind them as if they had never been there.
“Alert! Wake up!”
Only Bjorn and Hakon lifted their heads. Bjorn grabbed his axe. “What? Where?”
“Zora has just taken Finn! They disappeared in the tree!”
“I knew there was something weird about the girl.”
Hakon sat up more slowly, his face showing resignation rather than surprise. “I feared as much.”
“What?”
“There are stories,” he whispered. “Tales of a being who offers safe passage in exchange for tribute.”
“Tribute?” Bjorn spat. “You mean sacrifice. First Torsten, now Finn.”
Hakon spread his hands. “What would you have me do? The rapids claim two or three men each crossing. The Pechenegs would have taken more. I calculated the risk—”
Ulf seized the merchant by his tunic. “You calculated with the lives of your sworn companions?” he snarled.
“Keep your voice down,” Hakon hissed, glancing fearfully at the surrounding forest. “She will return soon.”
“What is she?”
Hakon’s wavered, then said. “I’ve heard of her in Miklagard, from some…other merchants. The stories call her the Witch of the Rapids. They say she is bound to the forest, has guided ships past the rapids for generations, always taking a few men as payment. Those she takes are never seen again.”
“And the amulet at her throat?” Ulf asked, releasing the merchant.
“The source of her power, perhaps. I know only what the tales say.”
A familiar voice interrupted them, no longer childlike. “Seven.”
The oak’s trunk rippled once more. Zora emerged alone but transformed. Her form was withered and bent, skin stretched over prominent bones. Her hair hung in long, matted strands the color of tarnished silver. Her eyes burned like hot coals, casting a crimson glow across her ravaged features.
“I take seven souls,” she said quietly. “I have taken two. The third...,” she smiled, revealing black teeth filed to points, “the third will be you, merchant.”
Hakon scrambled backward, fumbling for his sword. “We had an agreement!” he cried. “Safe passage for just a few expendable warriors!”
“You bargained with her?” Bjorn bellowed, momentarily distracted from the creature.
“Of course,” she said, gliding forward. “Just as those before him. The price of the path has always been the same.” The pendant at her neck pulsed with red light. “But Hakon the Shrewd thought to bargain, to choose which souls I should take, as if he owned them.”
“I’m the leader,” Hakon protested, voice breaking. “I have the right—”
“You have no rights in my forest!”
She moved with blinding speed, moving past Ulf and reaching the merchant before he could raise his axe. Her withered fingers wrapped around Hakon’s throat, lifting him from the ground with unexpected strength.
Bjorn charged with a berserker’s roar. She made a casual gesture that sent him staggering sideways, but he rolled with the invisible force and lunged again. His blade caught her arm, drawing a substance resembling dark sap more than blood. She shrieked in rage.
Ulf seized the opportunity. While she was distracted, he pounced and grasped the leather cord that held the amulet at her throat. With one powerful jerk, he tore it free.
The witch howled. She released Hakon, who crawled frantically away. Her form flickered—one moment the young girl they had rescued, the next the withered crone with red eyes, then a mass of shadows.
“Fool!” she snarled, lunging for the pendant in Ulf’s hand. “You don’t know what you’re doing!”
He backed away, the glass pulsing against his palm, uncomfortably warm. He raised his arm, preparing to smash it against a nearby stone.
“Wait!” she cried, her voice becoming almost pleading. “You don’t understand what that is!”
Ulf hesitated, arm raised.
“That amulet is not the source of my power—it is a key, a seal, a binding.”
“A binding for what?”
She gestured toward the oak. “For what sleeps within. The Leshy, the guardian of this forest.”
“More lies,” Bjorn growled.
“Long ago, this forest stretched for many days’ journey. The Leshy was its master, ancient and powerful. But we mortals came with our axes and fires. The Leshy went mad with rage, slaughtering any who entered its domain.”
She spread her hands. “My ancestors found a way to imprison it within this tree. The amulet is the key to that prison. Each year, we must feed it seven souls to keep it dormant. Mostly strangers, travelers on their way around the rapids I bring into the forest with a few illusions.”
Ulf’s eyes narrowed with sudden realization. “Berezhnik? The ruins we saw...”
“All crafted from shadow and mist.”
They had been led into a trap right from the beginning. Ulf raised his hand higher.
“Break the amulet, and you unleash a horror you cannot comprehend,” she warned.
“She lies,” Hakon called, having recovered some composure at the edge of the camp. “She seeks only to preserve her power over the river trade.”
Her eyes flashed. “You, merchant, who have sacrificed your sworn companions dare speak of lies?”
Hakon flinched and backed away.
“Return the amulet,” she said, turning to Ulf. “Or the Leshy will devour us all.”
He looked down at the crystal in his hand. Its reddish glow pulsed like a heartbeat. “No.”
“You give me no choice.” Her form collapsed into a deep shadow, flowing across the clearing and disappearing into the darkness.
The three men stood frozen for a few heartbeats, barely daring to breathe. Bjorn’s knuckles were white around his axe handle. Hakon stood his feet apart, ready to flee.
“Quick,” Ulf commanded. “We don’t know how much time we have.”
They rushed to their comrades still sprawled and snoring in the pre-dawn light. They shook them and kicked them until they started to stir. “Wake up, you fools! We face worse than Pechenegs tonight!”
One by one, the men staggered to their feet. Ulf explained what happened.
“Let’s start with his head!” one offered, pointing at Hakon.
“No,” Ulf said firmly. “We need every blade now.”
“You would spare him?” Bjorn challenged, stepping forward.
Ulf met his gaze. “Right now, we need all able fighters to face whatever comes next.”
He turned to the others, who were checking their weapons with unsteady hands. “Gather what you can carry. We leave—”
A sound stopped him mid-sentence, the shuffle of many feet moving through underbrush. Not the careful steps of hunters, but the shambling gait of things that no longer cared about stealth.
Bjorn notched an arrow. “Too late.”
Pale shapes emerged between the trees. Dozens. As they approached, Ulf saw a grisly procession of the dead. Torsten and Finn led the parade, their once-proud frames hunched, their eyes empty. Behind them followed corpses in various states of decay, some freshly taken, others little more than skeletons held together by scraps of dried flesh and rotting clothes: Slavs, Rus, Danes, Pechenegs, and even a few Greeks.
“Form a circle around the oak!” Ulf bellowed. “Shieldwall!”
His men obeyed, retreating to the mighty tree. Leif started singing a war song. Behind the dead army, Ulf spotted Zora, still a grotesque blend of crone and maiden. She gestured, and the shambling horde surged forward.
The battle erupted in chaos and horror. The undead creatures felt no pain, fought with inhuman strength, and could only be stopped by complete dismemberment. Ulf’s axe cleaved through rotted bone and flesh, but for each abomination he felled, two more appeared. Soon, his arms burned with exhaustion, each swing heavier than the last. Around him, his men fought with desperate intensity. Leif and Hakon were already dead. From the corner of his eye, he could see Bjorn fighting with only one arm, the other hanging useless at his side.
In that moment of desperation, clarity struck him like lightning. “We will not leave these lands alive,” he whispered. “But neither will you, witch.”
“Close your shields behind me!” he roared. He tore the talisman from his neck and whirled, smashing it against the oak with all his remaining strength.
A pulse of bright red light exploded outward, knocking everyone—living and dead alike—to the ground. The dead stayed motionless. For a heartbeat, absolute silence reigned over the clearing. Then the oak began to move.
It started with a trembling that grew in intensity until the very earth shook beneath their feet. The massive trunk groaned and twisted, bark splitting and reforming, branches creaking and swaying. Roots tore free from the earth, rising like massive legs. Ulf and his men scrambled away among the corpses. The witch shrieked in terror.
The oak’s trunk split and reformed into a towering humanoid shape of wood and bark, with a head crowned with leaves. Vines and moss draped its massive frame. Eyes the color of amber stared down with ancient awareness.
The witch bowed to the ground. “Great One,” she began, her voice now humble and placating. “I have kept our bargain. I have—”
The Leshy’s voice cut through hers, a voice breaking wood and rushing wind.
“IMPRISONED. BOUND.”
“I kept you fed!” the witch cried. “Seven souls each year!”
“BETRAYER. OATH-BREAKER.”
With movements surprisingly fluid for its massive size, the Leshy reached down. The witch turned to flee, but vines erupted from the ground, wrapping around her legs. An enormous wooden hand closed around her withered form, lifting her high before its eyes.
“Please,” she begged. “Our bargain stands!”
“YOU BOUND ME AND TOOK MORE THAN WAS AGREED. YOU FED ON SOULS MEANT FOR ME, KEEPING ME IN DEEPER SLUMBER, GROWING FAT ON WHAT WAS MINE.”
It stared at her with ancient, inhuman eyes.
“DEBT MUST BE PAID.”
The wood of the Leshy’s chest split open to reveal a hollow filled with green light. It placed her within, and the wood closed around her. For a moment, her outline was visible through the bark—struggling, clawing—and then she was gone.
In the sudden silence, Ulf slowly backed away. Around him, his surviving warriors gathered close as the Leshy turned its attention to them. He met its gaze steadily, knowing that his next words might determine whether they lived or died.
“KEY-BREAKER,” it said, its voice neither grateful nor angry. “YOU SEEK THE RIVER PATH BEYOND THE RAPIDS.”
It wasn’t a question, but Ulf nodded.
It raised one massive arm, pointing toward the east. “WITH SUNRISE, A PATH WILL OPEN. IT LEADS BEYOND THE WATER-TEETH.”
It gestured, and all the corpses, whether from the witch’s army or Ulf’s companions began to sink into the earth. “FLESH TO SOIL. BONE TO STONE.” Its amber eyes returned to Ulf. “OUR DEBT IS SETTLED. NEXT TIME, I WILL TAKE PAYMENT.”
Without another word, it turned and strode away, each massive step causing the earth to shake. Trees parted before it, then closed behind. Within moments, it had vanished into the forest.
Bjorn limped to Ulf’s side. “By all the gods,” he breathed. “What manner of being was that?”
“Something that remembers when men were nothing more than prey.”
They spent the next hour tending their wounds and recovering their strength. When dawn fully broke, a path opened where none had been before, leading eastward. They followed it as fast as they could, dragging the knarr.
By midday, they emerged at the foot of the rapids. The ship was lowered back into the river. Ulf resumed his place at the stern. As they pushed off into the Dnieper’s current, he cast a glance toward the distant trees. For a moment, he thought he saw the silhouette of a massive oak against the rising sun.
Then they rounded the river bend, and it was gone.
Seven Souls © 2025 by Mike Graham (3800 words). All rights reserved by the author. You may restack this story via Substack but please do not republish elsewhere. Banner and clipart by Gilead, used by permission.
Did you enjoy this story? Drop a comment and let the author know what you think!
About the Author: After thirty years molding young minds in school classrooms, Mike Graham has finally traded lesson plans for the magical adventures he has been quietly crafting for decades in his Yorkshire home.
Thanks for reading Swords & Heroes eZine! We’re done with our current run until probably 2026. But there’s plenty to catch up on in case you missed our previous installments. Here’s a partial ToC.
Story #20 - Mar 4 - “The Spirit Path” by Logan D. Whitney
Story #21 - Mar 18 - “I Will Not Give My Glory to Another” by R. E. Diaz
Story #22 - May 6 - “The Black Mongoose” by Jasiah Witkofsky
Story #23 - May 20 - “A Nameless Waste of the Unquiet Dead” by Michael T. Burke
Story #24 - June 3 - “Demon Eye” by Greg Fewer
Story #25 - June 17 - “The Skull of Siyaj Kek” by Greg Mele
Story #26 - July 3 - “An Insufficiency of Light” by Jason M Waltz
Story #27 - July 10 - “Another Name for Darkness” by Jason M Waltz
Story #28 - July 18 - “Quazaar the Eliminator” by Stephen Antczak
Story #29 - July 24 - “A Time to Kill” by L. N. Hunter
Story #30 - August 1 - “Seven Souls” by Mike Graham
If you want to show your support, feel free to check out more S&S offerings from Tule Fog Press. Thanks, and until next year, keep swinging! - Lyn Perry





Great northern macabre! Another excellent read!